我正在尝试为我的骰子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
答案 0 :(得分:1)
你应该说明你正在使用哪种编程语言。我假设这是Python,但如果不是我的回答可能是错误的。
您的问题是您需要使用elif
,而不是。您还试图在字符串和整数之间隐式转换,但这不起作用。这段代码应该,除非我错过了别的东西。
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")
答案 1 :(得分:0)
您需要使用elif
代替if或switch
语句。
您提供的代码"如果骰子不等于12,则打印错误"。
尝试类似:
while loop == 1:
dice=input("Choose dice 4,6 or 12 sided")
if dice =="4":
n=random.randint(1,4)
print(dice)
print(n)
elif dice =="6":
n=random.randint(1,dice)
print(dice)
print(n)
elif dice =="12":
n=random.randint(1,dice)
print(dice)
print(n)
else:
print("Error")
这使您可以在不评估每个表达式的情况下提前摆脱循环。