在Python中找到换行符之前,如何读取用户输入?
我想从用户那个里获取未知的正整数和负整数。当用户按下Enter键时,输入将停止 比如说- 如果用户输入在Python中找到换行符之前,如何读取用户输入?,python,user-input,Python,User Input,我想从用户那个里获取未知的正整数和负整数。当用户按下Enter键时,输入将停止 比如说- 如果用户输入12345-9-101000-输入键-则它将存储“12345-9-101000” 这是我的密码- a = [] inp = input() while inp != "\n": a.append(inp) inp = input() print(a) 但这并不是说即使按下回车键也要停止输入 编辑-要求进行输入的问题,直到输入为空,但我的问题是在一行中进行
12345-9-101000-输入键-
则它将存储
“12345-9-101000”
这是我的密码-
a = []
inp = input()
while inp != "\n":
a.append(inp)
inp = input()
print(a)
但这并不是说即使按下回车键也要停止输入
编辑-要求进行输入的问题,直到输入为空,但我的问题是在一行中进行输入,直到用户按Enter按钮。只需将其更改为
while inp:
a.append(inp)
inp = input()
当输入换行符时,
inp
是一个空字符串,这将打破循环。如果您使用的是Python 3.8,您可以在这里使用walrus操作符
ls = []
while (inp := input("> ")):
ls.append(inp)
print(ls)
这回答了你的问题吗?“我的问题是在用户按下Enter按钮之前将输入记录在一行中。”这就是
input()
函数的工作原理。你不需要任何循环。一旦你有了输入,split()
在空白处打开它以获得实际输入的列表,但我不知道用户要输入多少数字。输入的数量可能不同。请尝试打印(“12345-9-101000”.split())
并亲自查看。运行此代码:x=input('给我一些数字:')
。看看它是如何工作的。尝试输入2个数字。然后尝试输入10。这两种情况都有效吗?x
的值是多少inp
不会变成None
。总是返回一个字符串(如果它没有抛出异常),因此inp
将是一个空字符串。@AbhinavMathur根据他们对另一个答案的评论判断,OP还希望将其附加到列表中。IDK为什么他们没有想到只在代码中添加一行.append()
,而是声称它不起作用:-/@PranavHosangadi I添加了append语句,那么缺少什么?@AbhinavMathur“那么缺少什么”什么都没有!这是我的观点。即使在添加追加之前,也没有“缺少”任何内容,因为1。OP没有指定要将它们附加到列表中,2。这是一件很容易识别和添加的事情anyway@PranavHosangadi“已接受”答案仅适用于特定版本的python:/