我有这段代码,但是当Y变为10时,它会继续运行循环,为什么? 我是python的初学者,所以请不要以为我很蠢:)
def destiny_calculator():
mass = str(input("enter the mass of your material (it could be in gram, milligram, kilogram or ton "))
if mass.isdigit() == False:
try:
float(mass)
except Exception:
x = False
y = 0
while x == False or y != 10:
print("Please enter JUST a number")
mass = str(input("enter the mass of your material (it could be in gram, milligram, kilogram or ton - "))
y = y + 1
print (y)
if y == int(10):
print("Too many errors")
exit()
else:
pass
else:
pass
答案 0 :(得分:1)
由于您使用or
,因此该代码仅检查是否满足以下条件之一。因此,只要x == False
为真,代码就会运行。如果您希望代码在y == 10
后结束,则应该使用and
运算符。仅当两个条件都为真且一个条件为假(例如y == 10
)时,代码才会运行。