关于划算不划算的结果...

来源:8-13 划算还是不划算

qq_肥嘟嘟_1

2018-09-18

import random

# lv1
l1_gold = 0.75  # 1颗1级石头消耗0.75金
l1_dia = 8  # 1颗1级石头同时消耗8颗钻石
# lv1-3
l1_to_l3_val = 12  # 1级变3级 需要12颗1级石头+1颗一级石头
l1_to_l3_gold = 0.39  # 同时消耗0.39金
l1_to_13_vit = 10  # 同时消耗10点体力
# lv3-4
l3_to_l4 = 16  # 1颗3级石头变成1颗4级石头,需要消耗16个1级石头+1个3级石头
l3_to_l4_gold = 0.897  # 同时需要消耗0.897金
l3_to_l4_vit = 10  # 同时消耗10点体力
l3_to_l4_rate = 0.4878  # 合成概率为 0.4878 如果失败  则金和16颗1级全部扣除,但是不消耗体力
# lv4-6
l4_to_l6 = 12  # 需要消耗12个1级石头+1个4级石头
l4_to_l6_gold = 19.75  # 同时需要消耗19.75金
l4_to_l6_vit = 10  # 同时消耗10点体力
'''
已知1颗六级石头的市场售价为750金,请问是自己合成石头划算还是直接购买划算
其他数据:
    1颗钻石dia卖出0.05金
    1点体力vit 可以卖出1金
'''


def l1_val():
    return l1_gold+l1_dia*0.05


def l3_val():
    return l1_val()+l1_to_l3_gold+l1_to_13_vit+l1_val()*12


def l4_fail_val():
    return l1_val()*16+l3_to_l4_gold


def l4_val():
    res = 0
    while random.randint(0, 10000) > 4878:
        res += l4_fail_val()
    res += (l3_val()+l1_val()*16+l3_to_l4_vit+l3_to_l4_gold)
    return res


def l6_val():
    return l4_val()+l4_to_l6_gold+l4_to_l6_vit+l1_val()*16


huasuan = buhuasuan = same = 0
for i in range(1, 101):
    res = l6_val()
    if res > 750:
        buhuasuan += 1
    elif res < 750:
        huasuan += 1
    else:
        same += 1
    print(res)

print('---------------------')
print(huasuan)
print(buhuasuan)
print(same)

最后计算结果为100%划算。。。但是感觉每次合成所需要的花费都远远比750少很多(大概是67.447 和102.787居多),我看其他同学的答案都好大,是不是错了?

写回答

2回答

慕虎5119090

2018-09-19

4级合成6级那里是需要消耗12颗4级石不是1级石

0
1
qq_肥嘟嘟_1
非常感谢!
2018-09-20
共1条回复

慕前端5476978

2018-09-20

算出来582.055

0
1
慕虎5119090
涉及概率,应该不会是一个固定值的吧?
2018-09-21
共1条回复

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14596 学习 · 4469 问题

查看课程