whileループでプログラムを任意の数だけ実行したい場合、どうすればいいでしょうか?

投稿者: Anonymous

以下のプログラムを無条件に5回実行したいので、以下のようにwhileループを使って実行してみました。
しかし、5回で終わることなく、ずっと繰り返し実行されてしまいます。どうすれば5回のみのループにすることができますか?

コードは以下の通りです。

qs=["What is your name?",
    "What is your favorite",
    "What is your queset?"]
c=["trump","USA"]


i=0
while i<5:  
    a=input(qs)

    if a=="president":
        d=input(c)    
        if d=="handsum":
            print("great")
        else:
            print("you are fired")
    else: 
        print("bye")

    i += 1

解決

i += 1が(while文と同一インデントであるため)whileループの外にあるように見えます。そのため、iが変化せず、無限ループになっていると思います。

i += 1whileループの内側に配置すれば期待通りに動作すると思います。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *