我们如何从同一行获取动态数量的输入?例如,如果N是我的输入数量,如果是N = 3,那么我如何接受3个不同的输入,所有输入都用空格分隔,并将它们存储到3个不同的变量中?
现在,我知道如何从同一行获取输入,前提是我知道N事先的价值.如果我的输入数量为3,则使用以下代码执行此操作,并将它们分别分配给变量a,b和c:
a,b,c = map(int,raw_input().split())
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法弄清楚如何使用此代码将动态数量的输入分配给相同数量的变量.
比如将项目存储在列表中并单独处理它们会怎么样?
list_of_input = map(int,raw_input().split())
print "you input:"
for i,input_val in enumerate(list_of_input):
print "item %d: %d:" % (i, input_val)
if input_val < 5:
pass # do something for certain items
elif input_val > 10:
pass # do something else for other items
else:
pass # etc
Run Code Online (Sandbox Code Playgroud)
如果你已经死了就为每个输入设置了"唯一的"字符串变量名称(即使你从数字列表索引中获得了相同的行为,它比以下建议更健壮,更通用,更快速,更简单):
var_names = "abcdefghijklmnopqrstuvwxyz"
named_lookup = dict(zip(var_names, list_of_input))
print named_lookup["c"]
Run Code Online (Sandbox Code Playgroud)