簡體   English   中英

如何不斷提示用戶輸入?

[英]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 的每一行中,它只是調用了一個先前定義的函數。 productspart是字典,之前定義過。

我只能使用內置函數。

你已經完成了大部分工作,你只需要這個:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM