下面使用的变量我没有显示初始化,但你可以自己编。它做的正是我想要它做的,但是它打印出所有的if,而不仅仅是一个if
m = input()
if m == 1:
print(l)
time.sleep(1)
else:
print(cost + f + baws)
boss_he = boss_he - 20
print("%" + str(boss_he) + " boss health left")
if m == 2:
time.sleep(1)
else:
print(cost + baws)
boss_he = boss_he - 25
print('%' + str(boss_he) + ' boss health left')
if m == 3:
time.sleep(1)
else:
print(h)
wiz_he = wiz_he + 15
print('%' + str(wiz_he) + " of you health left")
每当我运行这个代码时,它都会执行其他情况,为什么?你知道吗
如果每个人打印一个1,或一个1,或一个3,如果我把这个数字,它将打印12和3,而不是如果只是打印1(如果我要求它打印1)。我的代码有问题吗?你知道吗
你的
input()
永远不会对你的if
状态进行评估,因为你把input()
作为str
。因此,所有的else
都被触发。相反,可以强制转换int
:m = int(input())
。另外,您的逻辑也有缺陷,因为如果m
不是1
、2
或3
,那么所有else
语句都将被输入。你知道吗为什么不用if,elif,elif和else来代替if多次呢?程序将您的输入确定为字符串,使其像m=int(input())一样将您的输入转换为整数
相关问题 更多 >
编程相关推荐