2010-12-10 19 views
0

私は確信しています。 たとえば、次のようなプログラムがあるとします。pythonは、メソッドを実行した後にプログラムを再起動します

def method1(): 
    #do something here 

def method2(): 
    #do something here 

#this is the menu 
menu=input("What would you like to do?\ntype 1 for method1 or 2 for method2: ") 
if(menu=="1"): 
    method1() 
if(menu=="2"): 
    method2() 

プログラムの終了ではなくメソッドの終了後、このメニューを再び表示させるにはどうすればよいですか?

私は無限ループにプログラム全体をラップする可能性が考えていたが、それは右感じていない:P

+0

は、私は他のものは何でもあなたに応じて、無限ループ(または無限ではないでそれを行うだろうやっている)。 – rovaughn

+0

プログラムを終了する選択肢があったので、無限ループに包んでください。 –

答えて

5
while True: 
    #this is the menu 
    menu=input("What would you like to do?\ntype 1 for method1 or 2 for method2: ") 
    if(menu=="1"): 
     method1() 
    if(menu=="2"): 
     method2() 

無限ループは、「右感じていない」を自問した場合ときとそれがなぜ終わるべきなのか。ループを終了する3番目の入力オプションが必要ですか?無限ループはしかし、それを行う方法である

if menu == "3": 
    break 
+0

これは素晴らしいです。私はループ、メソッド、すべての中にすべてのものを入れようとしていたxD –

+0

まあ...あなたは本当に "全体のプログラム"をループで包みたいとは思わない。 **ループする必要がある部分をループで**ラップします。 :) –

0

を、このような何か:次に追加

running = true 

def method1(): 
    #do something here 

def method2(): 
    #do something here 

def stop(): 
    running = false 

while running: 
    #this is the menu 
    menu=input("What would you like to do?\ntype 1 for method1 or 2 for method2 (3 to stop): ") 
    if(menu=="1"): 
     method1() 
    if(menu=="2"): 
     method2() 
    if(menu=="3"): 
     stop() 
+0

Russelsメソッドはこれより優れています – Pengman

関連する問題