我有这个while循环:while x == False或y!= 10:,但是当Y变为10时,它将继续运行循环

时间:2019-11-28 19:41:25

标签: python

我有这段代码,但是当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

1 个答案:

答案 0 :(得分:1)

由于您使用or,因此该代码仅检查是否满足以下条件之一。因此,只要x == False为真,代码就会运行。如果您希望代码在y == 10后结束,则应该使用and运算符。仅当两个条件都为真且一个条件为假(例如y == 10)时,代码才会运行。