在python中接受输入直到换行符
问题内容:
我是python初学者。我正尝试接受用户的输入,只要他/她愿意即可。仅按回车键时,程序应停止接受输入。
那是
25
65
69
32
#stop here since the enter key was pressed without any input
我想出了以下代码来做到这一点…。
a = []
while 1:
b = input("->")
if(len(b)>0):
a.append(b)
else:
break
-
还有其他有效的“ pythonic”方法吗?
-
虽然这在python 3.3上可以完美使用,但在python 2.7上则不能使用(用input_()替换为raw_input()函数)。屏幕只是呆呆的,没有任何反应。这是为什么?
-
是否有任何内置函数可以将字符串转换回整数!
问题答案:
您的方法通常很好。您可以这样写:
a = []
prompt = "-> "
line = input(prompt)
while line:
a.append(int(line))
line = input(prompt)
print(a)
注意: 我没有包括任何错误处理。
关于您的其他问题:
raw_input()
应该在Python 2.7中类似地工作int()
-将给定参数屈曲为整数。如果不能,它将失败并显示aTypeError
。
对于一个Python 2.x的版本,只是掉input()
了raw_input()
。
仅出于教育目的,您还可以使用以下 功能样式 编写它:
def read_input(prompt):
x = input(prompt)
while x:
yield x
x = input(prompt)
xs = list(map(int, read_input("-> ")))
print(xs)