在 Python 中从用户输入创建元组

从用户输入创建元组:

  1. 使用 input() 函数从用户那里获取输入。
  2. 使用 str.split() 函数将输入字符串拆分为列表。
  3. 使用 tuple() 类将列表转换为元组。
import ast

# ✅ 从字符串用户输入创建一个元组

my_tuple = tuple(input('Enter space-separated words: ').split())

print(my_tuple)

# -------------------------------

# ✅ 从用户输入的整数创建一个元组

user_input = input('Enter space-separated integers: ')

my_tuple = tuple(int(item) for item in user_input.split())

print(my_tuple)

# -------------------------------

# ✅ 从用户输入创建一个元组

try:
    input_list = ast.literal_eval(
        input('Enter a valid Python tuple, e.g. tasks=("a", "b"): ')
    )
except ValueError:
    print('The provided value is not a tuple')

print(input_list)  # 👉️ ('a', 'b')

在 Python 中从用户输入创建元组

我们使用 input() 函数从用户那里获取输入。

输入函数接受一个可选的提示参数并将其写入标准输出,而没有尾随的换行符。

然后该函数从输入中读取该行,将其转换为字符串并返回结果。

我们使用 str.split() 方法在每个空白字符上拆分用户输入字符串。

my_tuple = tuple(input('Enter space-separated words: ').split())

print(my_tuple)

str.split() 方法使用分隔符将字符串拆分为子字符串列表。

当没有分隔符传递给 str.split() 方法时,它会将输入字符串拆分为一个或多个空白字符。

我们还可以使用另一个字符串分隔符,例如 一个逗号。

my_tuple = tuple(input('Enter comma-separated words: ').split(','))

print(my_tuple)

str.split() 方法在每个逗号上拆分输入字符串。

如果我们需要从用户输入创建整数元组,请使用生成器表达式将每个输入字符串转换为整数。

user_input = input('Enter space-separated integers: ')

my_tuple = tuple(int(item) for item in user_input.split())

print(my_tuple)

我们使用 str.split() 函数在每个空白字符上拆分输入字符串。

然后我们使用生成器表达式来迭代列表。

在每次迭代中,我们使用 int() 函数将输入字符串转换为整数。

或者,我们可以使用 ast.literal_eval() 方法。

import ast


try:
    input_list = ast.literal_eval(
        input('Enter a valid Python tuple, e.g. ("a", "b"): ')
    )
except ValueError:
    print('The provided value is not a tuple')

print(input_list)  # 👉️ ('a', 'b')

ast.literal_eval() 方法允许我们安全地评估包含 Python 文字的字符串。

这假设预期的输入是一个有效的 Python 元组,例如 (1, 2, 3)。