我正在开发一个自己选择的冒险项目,其主要功能接受 3 个参数。
- 第一个参数由函数打印。这始终是一个包含描述场景的文本的变量
- 第二个参数始终是一个变量,其中包含与当前场景有关的选项,由函数打印
- 第三个参数是一个字典,其键对应于场景选择,并与用户的输入进行比较。键的值包含接下来的 3 个参数。
例子。
text1 = 'This is the scenario'
text2 = 'These are the choices'
dict2 = {'1':[text2, text1, dict1]}
dict1 = {'1':[text1, text2, dict2]}
def mainloop(scenario, choice, consequence):
print scenario
print choice
answer = raw_input('Please input 1, 2 or 3>>> ')
if answer in consequence.keys():
mainloop(*consequence[answer])
mainloop(text3, text2, dict1)
我认为这将是设计我的项目的好方法,但是我遇到了字典参数的问题。因为字典值包含参数列表,其中包括其他字典,所以我不断收到错误消息:
NameError: name 'dict1' is not defined
翻转我定义字典的顺序预期会导致相同的错误,只是没有定义'dict2'。关于如何让这个概念发挥作用的任何建议?或者是时候采取完全不同的方法了?