即使条件为假,

时间:2019-05-07 13:54:26

标签: python loops while-loop

我的代码似乎永远陷入了这个while循环中:

array = []
b = 1
while b != 0:
    b = int(input("please enter whole numbers "))
    array += [b]
print (array)     

代码的含义是将用户输入放入数组中,并在用户输入0时停止。我不知道即使条件为假,循环仍设法继续执行代码的原因。我以为只要条件为假,python就会在那里停止!

当我不希望将0作为数组中的元素时,我会不断获取它。

3 个答案:

答案 0 :(得分:1)

为了不使用break,我对magamongo的答案做了一些修改,但您也可以像在quamrana的答案中那样使用它:

array = []
b = 1
while b != 0:
    b = int(input("please enter whole numbers "))
    array += [b]
array = array[:-1]
print(array)

答案 1 :(得分:0)

我认为您可以使用自己的退出条件,而不必依靠while语句本身停止:

array = []

while True:   # never exit here
    b = int(input("please enter whole numbers "))
    if b == 0:
        break    # exit the loop here
    array += [b]
print (array)   

答案 2 :(得分:0)

“休息”可帮助您做到这一点。

array=[1]
while array[-1] != 0:
  b = int(input("please enter a whole number"))
  array += [b]
  if array[-1] == 0:
    print(array[1:-1])
    break

希望这会有所帮助:)