我目前正在學習 python,但我無法弄清楚如何獲得一個 if - then 陳述句以使骰子作業(隨機)。
我試過了
if roll_dice < 10:
print ("dang, you got a low roll, try again")
else:
roll_dice > 10
print ("nice! you got a high roll")
roll_dice = 10
print ("10!")
它說“ValueError:不知道如何比較'function'和'int'”
uj5u.com熱心網友回復:
也許您希望它以這種方式作業:
if roll_dice < 10:
print ("dang, you got a low roll, try again")
elif roll_dice > 10:
print ("nice! you got a high roll")
else:
print ("10!")
或者
if roll_dice < 10:
print ("dang, you got a low roll, try again")
elif roll_dice > 10:
print ("nice! you got a high roll")
elif roll_dice == 10:
print ("10!")
uj5u.com熱心網友回復:
聽起來像是roll_dice
一個函式,所以你需要呼叫它才能得到答案,所以roll_dice < 10
沒有意義。這就像問print < 10
or abs < 10
。
嘗試這個:
roll = roll_dice()
if roll < 10:
print("dang, you got a low roll, try again")
elif roll > 10:
print ("nice! you got a high roll")
else:
assert(roll == 10)
print("10!")
uj5u.com熱心網友回復:
這是另一行代碼的另一個版本 - 使用三元運算子。不建議使用這種編碼,但說明了另一種編碼方式。
print ("dang, you got a low roll, try again" if roll_dice < 10 else "nice! you got a high roll" if roll_dice > 10 else "10!" )
原始問題的真正問題是if
陳述句的語法不正確。
uj5u.com熱心網友回復:
我不知道你是如何喂你的變數(roll_dice)的。但如果是通過鍵盤輸入,你可以做到這一點。
要查看的代碼
還要記住比較 roll_dice >10。
你必須這樣做 int(roll_dice)。
它將它從字串更改為整數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/524341.html
上一篇:Livesql觸發IF陳述句