我目前正在尝试创建一个具有一个项目(代表游戏内)的随机机会的方法,例如一个项目的20%,或50%的百分比,甚至1%。百分比pythonic方式
from random import randint
def Break():
print(".")
def Treasure():
Gen = randint(1,100)
if Gen <= 10:
print("10%")
Break()
Gen = randint(1,100)
if Gen <= 10:
print("10%")
Break()
Gen = randint(1,100)
if Gen <= 10:
print("10%")
Break()
Gen = randint(1,100)
if Gen <= 10:
print("10%")
Break()
Gen = randint(1,100)
if Gen <= 10:
print("10%")
Break()
此代码方法这类作品的,问题是,即使选择从这里百分比和休息()被调用,还有的可能:我曾尝试与如下所示的代码做这个它有超过一个百分比列出 因此,如果它说80%,然后Break() 它也可以列出50%,然后Break()一段时间。
所以我的问题是,我怎么能做到以下几点:
- 比较有效的代码
- 使百分比只能拨打ONE再突破()
- 使得百分比肯定的方式是什么他们说,例如50%的一半机会。
测试代码:(编辑)
if gen <= 10:
print("10%")
elif gen <= 20:
print("20%")
elif gen <= 30:
print("30%")
elif gen <= 40:
print("30%")
elif gen <= 50:
print("50%")
elif gen <= 60:
print("60%")
elif gen <= 70:
print("70%")
elif gen <= 80:
print("80%")
elif gen <= 90:
print("90%")
如果这没有使90%的最有可能的,反过来10%的最少?
我不完全确定你在问什么。如果你想要一个随机的机会,为什么不使用'print(str(randint(1,100))+'%')'? – Holloway
如果你想早点离开功能,你的'Break'实际上并不会中断,使用'return'。 – Holloway
你可能只需要一个生成,如果elif和其他语句而不是多个生成和if语句 – NendoTaka