如何在Python中存在换行符的地方获取输入

时间:2019-04-16 10:01:59

标签: python

我想在Python中有换行符的地方接收输入。

我想输入一个数字,并且已经实现了以下代码,但是出现以下错误

代码

string = []

while True:
    input_str = int(input(">"))
    if input_str == '':
        break
    else:
        string.append(input_str)

错误

ValueError: invalid literal for int() with base 10: ''

线路错误

>1
>2
>3
>
Traceback (most recent call last):
  File "2750.py", line 4, in <module>
    input_str = int(input(">"))
ValueError: invalid literal for int() with base 10: ''

2 个答案:

答案 0 :(得分:0)

尝试字符串的isdigit函数,请参见以下示例:

string = []

while True:
    input_str = input(">")
    if input_str.isdigit():
        input_str = int(input_str)
    if input_str == '':
        break
    else:
        string.append(input_str)

答案 1 :(得分:0)

我建议使用“尝试除外”方法:

strList = []      
while True:
    try:
     strList.append(int(input('Enter the number > ')))
    except ValueError:
        print ('Invalid number. Please try again!')
        break
print(strList)

输出

Enter the number > 1
Enter the number > 2
Enter the number > 3
Enter the number > 
Invalid number. Please try again!
[1, 2, 3]