我想在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: ''
答案 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]