Python 3.5中的randint不起作用

时间:2015-09-29 19:17:23

标签: python python-3.5

我是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语句。

1 个答案:

答案 0 :(得分:3)

你想写:

if dice=="D4" or dice=="d4":

而不是:

if dice=="D4" or "d4":

"d4"本身具有(true)布尔值,因为它不是空字符串。