我有一个CLI,要求用户使用raw_input
输入几个参数。有没有办法回到以前的用户输入而不必重复整个程序?我不需要代码来重新启动整个程序,但是可以根据用户的请求检查以前的用户输入。
fruit = ["apples","bananas","pears"]
inputs = []
for count,a in zip(range(3),fruit):
query = raw_input("Do you like "+a+"?")
inputs.append(query)
if [any(n)=='back' for n in inputs[1::]]:
a = fruit[count-1]
这会询问用户是否喜欢苹果,香蕉和梨。如果他们输入“后退”,则应在CL上打印先前的用户输入。
所以,
>>> Do you like apples? y
>>> Do you like bananas?back
>>> Do you like apples? n
>>> Do you like bananas? y
我的预期结果是,如果用户在"back"
中键入任何输入,则会重复先前的输入,并且应更新inputs
中的相应元素。返回的选项应仅在用户输入第一个输入后发生。
如果用户输入fruits
,我的代码会将前一个元素存储在back
中,但我不知道如何使用它来更新raw_input
。
答案 0 :(得分:1)
这会有用......
fruit = ['apples', 'bananas', 'pears']
inputs = []
index = 0
while index < len(fruit):
answer = raw_input('Do you like %s? ' % fruit[index])
if index > 0 and answer == 'back':
inputs.pop()
index -= 1
else:
inputs.append(answer)
index += 1
print inputs