有没有办法用python中的一段代码创建新变量?
例如,如果我需要使用input("what's your name?")
并为每个答案创建一个变量,例如第一个答案的name1
,name2
,name3
等等。
你会怎么做?
答案 0 :(得分:2)
相当简单:
name1 = input("What is your name? ")
应该有用。
要获得可变数量的名称,您可以将它们放入列表中:
number_names = int(input("How many names do you want? "))
names = []
for i in range(number_names):
names.append(input("What is your name? "))
for name in names:
print(name)
作为事后的想法,如果你坚持使用name1, name2
等而不是name[1], name[2]
......你可以使用字典:
number_names = int(input("How many names do you want? "))
names = {}
for i in range(number_names):
name = input("What is your name? ")
names['name'+str(i)] = name
print(names['name1']) # Assumming there are at least 2 names in the dict
值得注意的是我假设你使用的是python 3.x。
答案 1 :(得分:1)
尝试使用此方法创建变量
n=3
for i in range(n):
var = input("what's your name?")
globals()['name'+str(i)] = var #or locals()['name'+str(i)] if you want variables in a local scope, (inside a function)
print(name0,name1,name2) # upto n-1
答案 2 :(得分:0)
您可以使用exec
,但这并不意味着您应该使用exec
。
for i in range(5):
exec("name%d=raw_input('enter something ')" % (i + 1))
print name1
print name2
print name3
print name4
print name5