获得用户输入,直到我遇到python中的条件

时间:2018-02-14 11:49:48

标签: python while-loop python-3.5

我正在尝试编写一个代码,其中程序不断地以整数形式获取用户输入并将其添加到空数组中。一旦用户输入“42”,循环就会停止并打印到目前为止所有收集的值。

例如:
输入

1
2
3
78
96
42

输出:

1 2 3 78 96

这是我的代码(没有按预期工作):

num = []

while True:
  in_num = input("Enter number")
  if in_num == 42:
    for i in num:
      print (i)
    break
  else:
    num.append(in_num)

3 个答案:

答案 0 :(得分:2)

这是一个解决方案,当整数未作为输入输入时也会捕获错误:

num = []

while True:
    try:
        in_num = int(input("Enter number"))
        if in_num == 42:
            for i in num:
                print(i)
            break
    except ValueError:
        print('Enter a valid number!')
        continue
    else:
        num.append(in_num)

答案 1 :(得分:0)

我认为你的问题是if条件:输入builtin函数返回一个字符串,你将它与一个整数进行比较。

in_num = None    
num = []    

while True:
    in_num = input("Enter number: ")
    if in_num == "42": #or you could use int(in_num)
        for i in num:
            print(i)
        break
    else:
        num.append(in_num)

答案 2 :(得分:-1)

问题是, var result = null; var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", 'docs/Test-files/employee.xls', false); xmlhttp.send(); if (xmlhttp.status == 200) { result = xmlhttp.responseText; } 为您提供了一个字符串,您在input中查看了line 5。 您必须将其替换为int或使用if in_num == "42"直接将input("Enter number")转换为int