我目前正在嘗試創建一個具有一個項目(代表遊戲內)的隨機機會的方法,例如一個項目的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