在循环中创建多个变量

时间:2015-03-21 12:26:06

标签: python loops for-loop while-loop

我有一个程序要求用户提出问题然后输入答案。现在我要求用户输入5个问题和答案。所以基本上它会向用户询问一个问题及其答案5次。我真正想要它做的是询问用户他们想要输入多少问题,然后根据它向用户显示"键入你的问题"和#34;键入你的答案"并将这些东西存储为变量(即" q1"和" a1"并根据他们想要输入多少个问题/答案重复),这样我就可以在print语句中使用这些变量稍后在该计划中。我正在考虑使用带有continue条件的while循环,直到倒计时为0然后循环结束但是如何不断创建新变量?

`   oneistart= raw_input('What is the first question: ')
oneiend= raw_input('What is the first answer: ')

2 个答案:

答案 0 :(得分:1)

如何使用字典?

d = dict()  # Creates an empty dictionary

oneistart = raw_input('What is the first question: ')
oneiend = raw_input('What is the first answer: ')

d[oneistart] = oneiend  # updates the dictionary with new key-value (or updates existing value associated to a key

此外,如果您致电d.values(),您将获得所有值(即答案)的列表,您可以看到您有多少答案?还有其他与字典对象相关的函数,您可以通过阅读文档(您的任务!)来研究它。

这是你的想法吗?

答案 1 :(得分:0)

我认为,比在python中创建动态变量更好,将其保存为像。(/ p>)这样的词典列表

lis = []
n = int(raw_input("How many? "))
for i in xrange(n):
    q = raw_input("enter q: ")
    a = raw_input("enter a: ")
    lis.append({"q"+str(i+1): q, "a"+str(i+1): a})
print lis
>>>[{'q1': 'ques1', 'a1': 'ans1'}, {'q2': 'ques2', 'a2': 'ans2'}]