2016-11-02 26 views
-2

私はwhileループを試していますが、ループを終了するために5を入力するようにしました。私はあなたがそうでなければ、そのは、常にちょうど最初の時間を入力したのと同じ値をチェックし、ループ内の入力のプロンプトを表示する必要がpythonで3whileループを終了させる方法

def main(): 
    print("Welcome to the List Info Checker") 
    printMenu() 
    printValue = input("Please enter a number between 1 and 5(inclusive): ") 
    while printValue != 5: 
     if printValue == 1: 
      print("1") 
     elif printValue == 2: 
      # allTheSame() 
      print("2") 
     elif printValue == 3: 
      # allDifferent() 
      print("3") 
     elif printValue == 4: 
      # sortThis() 
      print("4") 

main() 
+0

このpython 3またはpython 2ですか? – BorrajaX

+0

@Whudは以下で説明しました。また、無限ループに陥ってプログラムを停止したい場合は、割り込みキー 'ctrl-c'を使うことができます – tadm123

答えて

2

それはもはやTrue

  • breakを使用しているように、

    1. は、何らかの形での文の変更を持っていないwhileループから抜け出すには2つの方法があります。 「最下位ループ」から抜け出すコマンド

    ユーザー入力はループの前にのみ尋ねられるので、ループが開始してから無限ループを起こした後に変更する方法はありません。

    printValue = input("Please enter a number between 1 and 5(inclusive): ") 
    
    while printValue != 5: 
    
        if printValue == 1: 
         print("1") 
        elif printValue == 2: 
         # allTheSame() 
         print("2") 
        elif printValue == 3: 
         # allDifferent() 
         print("3") 
        elif printValue == 4: 
         # sortThis() 
         print("4") 
    
        printValue = input("Please enter a number between 1 and 5(inclusive): ") 
    
  • 0

    ています。この方法を試してください。

    def main(): 
    print("Welcome to the List Info Checker") 
    printMenu() 
    printValue = input("Please enter a number between 1 and 5(inclusive): ") 
    while printValue != 5: 
        if printValue == 1: 
         print("1") 
        elif printValue == 2: 
         # allTheSame() 
         print("2") 
        elif printValue == 3: 
         # allDifferent() 
         print("3") 
        elif printValue == 4: 
         # sortThis() 
         print("4") 
        printValue = input("Please enter a number between 1 and 5(inclusive): ") 
    
    main() 
    
    0

    あなたは

    print("Welcome to the List Info Checker") 
    printMenu() 
    while True: 
        if printValue == 1: 
         print("1") 
        elif printValue == 2: 
         # allTheSame() 
         print("2") 
        elif printValue == 3: 
         # allDifferent() 
         print("3") 
        elif printValue == 4: 
         # sortThis() 
         print("4") 
        elif printValue == 5: 
         break 
    

    かのために「壊す」使用することができます。入力は、それがループを再起動するたびに頼まれているので、それが中に5を入れ、ユーザによって破壊することができ、ループの中にあった場合最後の2行

    else: 
         break 
    
    関連する問題