Python中的多行用户输入

要获取多行用户输入:

  1. 只要用户正在输入值,就使用 while 循环进行迭代。
  2. 在每次迭代中,将用户输入和换行符附加到列表中。
  3. 如果用户在没有输入值的情况下按 Enter,则跳出循环。
lines = []

while True:
    user_input = input()

    # ?️ 如果用户在没有值的情况下按下 Enter,则跳出循环
    if user_input == '':
        break
    else:
        lines.append(user_input + '\n')


# ?️ 打印字符串列表
print(lines)

# ?️ 将列表加入字符串
print(''.join(lines))

Python中的多行用户输入

只要用户正在输入值,我们就使用 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))

Python中的多行用户输入

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)

Python中的多行用户输入

我们使用 str.join() 方法用换行符分隔符加入列表,而不是在每个输入中附加换行符 (\n)

str.join 方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。

my_list = ['a', 'b', 'c']

my_str = '\n'.join(my_list)

# a
# b
# c
print(my_str)

调用该方法的字符串用作元素之间的分隔符。