[英]How to continuously prompt for user input?
我正在編寫一個提示輸入的函數,然后根據輸入返回不同的結果,然后再次要求輸入。 我已經讓它返回了正確的值,但我不確定如何讓它再次提示輸入。
下面是函數的實際代碼:
def interact():
command = raw_input('Command:')
command = command.split(' ')
if command[0] == 'i':
bike_name = command[1] + ' ' + command[2]
return get_product_id(products, bike_name)
if command [0] == 'n':
return get_product_name(products, command[1])
if command[0] == 'c':
return compute_cost(products, part, command[1])
if command[0] == 'p':
return get_parts(products, command[1])
在其中包含 return 的每一行中,它只是調用了一個先前定義的函數。 products
和part
是字典,之前定義過。
我只能使用內置函數。
你已經完成了大部分工作,你只需要這個:
while True:
print interact()
我會用一個while循環來做。 像這樣:
while True:
com = raw_input('Command:').split()
if len(com) == 0:
break
elif com[0] == 'i':
bike_name = command[1] + ' ' + command[2]
return get_product_id(products, bike_name)
沒有必要花那么多心思編寫自己的命令行解釋器。 看看這個: http : //docs.python.org/2/library/cmd.html
一種方法是將其放入 while 循環中,然后還檢查是否有退出輸入中斷。
在(無端)循環中調用該方法:
while True:
some_method()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.