Python 如何在一行中获取n个变量?
我有一个数字n,我需要从一个用户n行中获取变量 据我所知,如果你确切地知道你有多少变量,这是很容易做到的Python 如何在一行中获取n个变量?,python,Python,我有一个数字n,我需要从一个用户n行中获取变量 据我所知,如果你确切地知道你有多少变量,这是很容易做到的 *variables* = map(int, input().split()) 但如果我不知道有多少变量,我该怎么办 另外,我被要求将结果放入数组中 不幸的是,我刚刚开始学习Python,所以我完全不知道该怎么做,也无法显示我尝试过的任何代码 用户输入被视为空格分隔的字符串: 1 2 3 4 5 这是您正在处理的代码: map(int, input().split()) 声明您需要一个
*variables* = map(int, input().split())
但如果我不知道有多少变量,我该怎么办
另外,我被要求将结果放入数组中
不幸的是,我刚刚开始学习Python,所以我完全不知道该怎么做,也无法显示我尝试过的任何代码 用户输入被视为空格分隔的字符串:
1 2 3 4 5
这是您正在处理的代码:
map(int, input().split())
声明您需要一个列表,然后将其存储在单个变量中:
inputs = map(int, input().split())
然而,在处理Python3时,您将得到map
对象。因此,如果您确实需要列表
类型,则只需在映射
函数中调用列表
:
inputs = list(map(int, input().split()))
演示:
输入=列表(映射(int,input().split())
1 2 3 4 5
>>>类型(输入)
>>>投入
[1, 2, 3, 4, 5]
只需将结果分配给一个变量:
numbers=map(int,input().split())
由于您不知道有多少个变量,最好将它们作为一个列表保存。您可能会弄乱globals()
字典,但最好不要这样做。用Python的说法,这不会给您一个数组(尽管在CS行话中,Python的列表是对象引用的数组)。我将把练习留给在标准库中查找数组的名称。;)
>>> inputs = list(map(int, input().split()))
1 2 3 4 5
>>> type(inputs)
<class 'list'>
>>> inputs
[1, 2, 3, 4, 5]