如何查询用户输入的数量和数组元素在同一行?
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()
检查列表的长度
我想让用户在同一行输入他们想要输入的元素数量和元素本身。 例如:
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()