在 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() 函数从用户那里获取输入。

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

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

请注意 ,即使用户输入数字,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)。