我正在尝试为我的骰子SIM卡生成错误消息

import random
loop=1

while loop == 1:
 dice=input("Choose dice 4,6 or 12 sided")
 if dice =="4":
     n=random.randint(1,4)
     print(dice)
     print(n)
 if dice =="6":
     n=random.randint(1,dice)
     print(dice)
     print(n)
 if dice =="12":
     n=random.randint(1,dice)
     print(dice)
     print(n)

 else:
    print("Error")


4和6出现错误,但是当我使用12面时,没有错误出现

Choose dice 4,6 or 12 sided4
4
4
Error

最佳答案

您应该真正说明所使用的编程语言。我假设这是Python,但如果不是,我的答案可能是错误的。

您的问题是您需要使用elif,而不是if。您还试图在字符串和整数之间进行隐式转换,这是行不通的。除非我错过了其他事情,否则这段代码应该会。

import random
loop=1

while loop == 1:
 dice=input("Choose dice 4,6 or 12 sided")
 if dice =="4":
     n=random.randint(1,4)
     print(dice)
     print(str(n))
 elif dice =="6":
     n=random.randint(1,int(dice))
     print(dice)
     print(str(n))
 elif dice =="12":
     n=random.randint(1,int(dice))
     print(dice)
     print(str(n))
 else:
    print("Error")

关于python - 没有错误时出现错误代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19914090/

10-10 16:01