如何查询用户输入的数量和数组元素在同一行?

How to ask user input quantities and the arrays elements in the same line?

我想让用户在同一行输入他们想要输入的元素数量和元素本身。 例如:

5 2 4 6 8 10

5 是数量,2,4,6,8,10 是元素。

有几种方法可以做到这一点。 如果用户可以输入逗号分隔的列表,那么 eval 非常有用。这将自动将值转换为 floats/integers.

user_in = input('Enter input: ')
user_data = eval(user_in)
num_eles = user_data[0]

如果您严格希望用户输入 space 分隔的数据,则执行类似的操作,但需要更多工作。

user_in = input('Enter input: ')
user_data = [int(x) for x in user_in.split(' ')]
num_eles = user_data[0]

就像提到的评论之一,用户可能不需要输入元素的数量,因为您可以这样做:

num_eles = len(user_data)

做这样的事情:

n, *list_ = map(int, input().split())
print(n, list_)

这将为您提供 n(表示元素数量的整数),以及包含 n 个整数的 list_

注意:在这种情况下将 n 作为输入是多余的,因此请考虑放弃它。您始终可以使用 len()

检查列表的长度