我是Python新手,在开发 D& D Dice 程序时遇到了一些问题。
import random
print("Hi,here you can roll all D´n´D Dice´s!")
dice=input("What dice do u want?D4,D6,D8,D10,D12,D20 or D100?")
if dice=="D4" or "d4":
print(random.randint(1,4))
elif dice=="D6" or "d6":
print(random.randint(1,6))
elif dice=="D8" or "d8":
print(random.randint(1,8))
elif dice=="D10"or"d10":
print(random.randint(1,10))
elif dice=="D12"or"d12":
print(random.randint(1,12))
elif dice=="D20"or"d20":
print(random.randint(1,20))
elif dice=="D100"or"d100":
print(random.randint(1,100))
else: print("No?Ok!")
当我运行程序并输入骰子数时,它总是输入第一个if
语句。
答案 0 :(得分:3)
你想写:
if dice=="D4" or dice=="d4":
而不是:
if dice=="D4" or "d4":
"d4"
本身具有(true)布尔值,因为它不是空字符串。