我正在构建一个文本游戏,需要在一个变量中存储两件事:a string, and a request for input
。请注意,我不意味着存储请求的输出 - 我的意思是,如果调用变量,则会打印字符串和请求本身,之后用户回答请求。
raw_input("Do you do X or Y?")
因此对我无效,因为我需要在部署之前存储请求。
关于我的方法的一些背景知识:
所有内容都存储在词典中,其中键是用户的当前位置,值可能是选择:
dict = {location1: (location2, location3), location2: (location1, location4)...}
因此,我print location1
会同时打印描述该位置的string
并制作request for input
。输入触发程序打印下一个适当的位置,程序继续运行。
我试图找出一个执行此操作的递归函数。
对于每个位置,输入请求的措辞都不同,这就是为什么我不将请求构建到递归函数中。
旁注:如果有人有任何其他建议/不同的方法我应该使用,请分享那些!
答案 0 :(得分:0)
对于每个位置,输入请求的措辞不同,
只需为每个位置对应的输入请求创建另一个字典。例如:
requests_dict = {
'location1': 'Please enter xxx: ',
'location2': 'Do you do X or Y: ', # and so on
}
然后使用该dict打印请求。
user_input = raw_input(requests_dict['location2'])
当然,您希望根据某些逻辑制作最后一个代码,以便调用哪个代码,但我认为您可以理解。
更新
responses_dict = {}
user_input = raw_input(requests_dict['location2'])
responses_dict[user_input] = 'You are in %s' % user_input