2015-06-02 88 views
3

我正在研究一個簡單的Python程序,用戶在該程序中輸入文本並向其返回或執行命令。如何在程序中重複功能

每次我輸入命令,我都必須關閉程序。 Python似乎沒有goto命令,並且我無法輸入多個「elif」而沒有錯誤。

這裏是給了我一個錯誤,如果我增加額外elif語句的部分代碼:

cmd = input(":") 
if cmd==("hello"): 
    print("hello " + user) 
    cmd = input(":") 
elif cmd=="spooky": 
    print("scary skellitons") 
+0

您可以簡單地使用while(1 == 1),在刪除第二個輸入之後。 – Hozikimaru

+0

@SurgeonofDeath,好的,生病試試這個,謝謝 –

+1

甚至更​​好:'while True' – Leistungsabfall

回答

0

你的程序只編碼從您發佈什麼執行一次。如果您希望它多次接受並解析用戶輸入,則必須明確地編寫該功能。

你想要的是一個while循環。查看教程this page和文檔here。隨着while,你的程序將具有的一般結構:

while True: 
    # accept user input 
    # parse user input 
    # respond to user input 

while陳述較大flow control的一部分。

+0

謝謝,很好的回答! –

1

這裏有一個簡單的方法來處理基於用戶輸入不同的反應:

cmd = '' 
output = {'hello': 'hello there', 'spooky': 'scary skellitons'} 
while cmd != 'exit': 
    cmd = input('> ') 
    response = output.get(cmd) 
    if response is not None: 
     print(response) 

您可以添加更多的output字典,或使輸出字典從字符串到功能的映射。