Python 从元组列表更新变量

Python 从元组列表更新变量,python,variables,dictionary,tuples,Python,Variables,Dictionary,Tuples,我正在通过LPTHW,我正在尝试创建一个游戏,在这个游戏中,你必须正确回答一系列问题才能搬到另一个房间。如果你回答不正确,你将被送回或游戏结束 在本例中,如何从ans更新变量以反映新值?我的答案似乎停留在第一个正确答案值上 我将问答对转换为元组列表。使用问题时,空列表会附加该问答元组,原始列表会删除该元组,以便不再使用。非常感谢您的指导,谢谢 powershell的示例输出: 锡安国家公园在哪里 犹他州#原始输入 犹他州犹他州#这是打印语句的输出 没错 你还有两个问题要问 正确答案:1 [(“

我正在通过LPTHW,我正在尝试创建一个游戏,在这个游戏中,你必须正确回答一系列问题才能搬到另一个房间。如果你回答不正确,你将被送回或游戏结束

在本例中,如何从ans更新变量以反映新值?我的答案似乎停留在第一个正确答案值上

我将问答对转换为元组列表。使用问题时,空列表会附加该问答元组,原始列表会删除该元组,以便不再使用。非常感谢您的指导,谢谢

powershell的示例输出: 锡安国家公园在哪里

犹他州#原始输入

犹他州犹他州#这是打印语句的输出

没错

你还有两个问题要问 正确答案:1

[(“锡安国家公园在哪里?”,“犹他州”)#这是用q/a键/值更新的空列表

那家商店叫什么名字

furball

furball#仍然与犹他州的第一个答案相比

错误答案2 [(“锡安国家公园在哪里?”,“犹他州”),(“商店猫叫什么名字?”,“furball”)]

什么是“Rauh Welt” 坎坷的世界


>

每次使用原始输入()时,python都会阻塞并等待用户输入。一旦用户提供输入(并按enter键),它将返回用户输入的值

以后每次您希望向用户查询信息时,必须再次使用原始输入来获取该信息:

ans1=原始输入(“输入问题1的答案”) ans2=原始输入(“输入问题2的答案”)

每次你想要一个新答案时,你都需要使用原始输入来获得它

请注意,在脚本结束时,您正在执行以下操作:

for i in keys:  #next 3 line compare used question to keys and if matched
   if i in qlist: # ...removes tuple from keys
       keys.remove(i)
       new_question = keys[0][0] # selects new question
       print new_question
       global ans
       ans = keys[0][1]
       print ans
       new_ans = raw_input("> ")
       ans = new_ans
在这里,您循环遍历键,如果该键在qlist中,则删除它并请求新的答案。但是,如果原始答案是错误的(我不在qlist中),您只需返回while循环


看起来您应该检查缩进,因为您可能在不属于缩进的块中有代码。

您需要一个真正的问题陈述,我们可以帮助您。嗨,Eric,我的问题是试图构造正确的问题。我想问题应该是,如果我使用字典上的.items来创建元组列表,当我从特定元组中提取一个值时,在测试之后,如何删除存储的值并前进到下一个选择?我希望说得更清楚。好的,但是输入在循环中被更新,并且正在根据新的值进行测试。似乎发生的是,我在元组中的值被卡住了,因此没有为下一个问题/答案清除。好的,我想我明白了。对于缩进,我仍然对需要从代码块中退出的位置感到困惑。谢谢大C,谢谢你的帮助。