Python中的多行用户输入
要获取多行用户输入:
- 只要用户正在输入值,就使用 while 循环进行迭代。
- 在每次迭代中,将用户输入和换行符附加到列表中。
- 如果用户在没有输入值的情况下按 Enter,则跳出循环。
lines = []
while True:
user_input = input()
# ?️ 如果用户在没有值的情况下按下 Enter,则跳出循环
if user_input == '':
break
else:
lines.append(user_input + '\n')
# ?️ 打印字符串列表
print(lines)
# ?️ 将列表加入字符串
print(''.join(lines))
只要用户正在输入值,我们就使用 while
循环进行迭代。
在每次迭代中,我们检查用户是否在没有输入值的情况下按下 Enter 以退出 while True 循环。
这可以是任何其他条件,例如 您可能有停用词,例如完成或退出。
break
语句跳出最里面的 for
或 while
循环。
如果用户输入一个值,我们使用 list.append()
方法将值和换行符附加到列表中。
list.append()
方法将一个项目添加到列表的末尾。
或者,我们可以使用 sys.stdin.readlines()
方法。
import sys
# ?️ 使用 stdin.readlines() 的多行输入
# ?️ 用户必须按 Ctrl + D (Unix) 或 Ctrl + Z 退出
print('Press CTRL + D (Unix) or CTRL + Z (Windows) to exit')
user_input = sys.stdin.readlines()
# ?️ get list of lines
print(user_input)
# ?️ 将列表项加入字符串
print(''.join(user_input))
stdin
用于交互式用户输入。
请注意
,用户必须按CTRL + D
(在 Unix 上)或CTRL + Z
在 Windows 上才能退出。
如果我们最初不想将换行符附加到列表中的每个项目,请使用 str.join()
方法将列表项目连接成一个字符串。
my_list = []
while True:
user_input = input()
# ?️ 如果用户在没有值的情况下按下 Enter,则跳出循环
if user_input == '':
break
else:
my_list.append(user_input)
# ?️ 打印字符串列表
print(my_list)
# ?️ 将字符串列表连接成一个字符串
my_str = '\n'.join(my_list)
print(my_str)
我们使用 str.join()
方法用换行符分隔符加入列表,而不是在每个输入中附加换行符 (\n)
。
str.join
方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
my_list = ['a', 'b', 'c']
my_str = '\n'.join(my_list)
# a
# b
# c
print(my_str)
调用该方法的字符串用作元素之间的分隔符。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。