【发布时间】:2018-04-15 15:57:53
【问题描述】:
所以,我正在制作一个程序,要求用户输入来定义一个变量。我想要它做的是不断提示他们定义变量,直到他们终止程序。 IE。它提示 A1:他们输入 2,然后它提示 A2:他们输入 6,依此类推,直到他们按 enter 而不输入任何内容。我遇到的问题是每次循环时我都需要唯一的变量。我还希望这些变量能够访问函数外部定义的变量,而无需使用全局变量。
这是我得到的:
def userinput():
n = 0
while n >= 0:
c = str(n)
v = 'A'+c+':'
v = input(v)
if v != '':
n += 1
else:
while v == '':
break
break
userinput()
如您所见,它所知道的是将用户的输入设置为每次迭代等于 v。我希望它将第一个输入设置为 A0,然后下一次迭代,我希望它的输入设置为 A1,依此类推。然后,在用户运行它之后,我希望能够调用变量 A1 并获得结果。有什么想法吗?
编辑: 所以,这是我的程序。它接受输入,将输入添加到列表中,然后将列表项转换为全局变量。我不想使用全局,但我不得不这样做。
def userinput():
n = 0
values = []
while True:
c = str(n)
v = 'A'+c+':'
v = input(v)
values.append(v)
if v != '':
n += 1
else:
while v == '':
values.remove(v)
break
break
for x, val in enumerate(values):
globals()['A%d' % (x)] = val
return values
data = userinput()
【问题讨论】:
-
使用容器
标签: python python-3.x list while-loop user-input