pythonで入力がある限りループする(while文)

pythonで入力がある限り値を取得し、処理を行うにはwhile文を用いる。

C言語では入力がEOFでない限りループ、のような書き方ができるが、僕の知っている限りではpythonではできない。

代わりにwhileループの中で入力を取得し、それが値かEOFかを判断する。

EOFであればbreak、そうでなければ処理を続ける、というような流れになる。

以下を参考

loops - Python: How to keep repeating a program until a specific input is obtained? - Stack Overflow

 

またこれでもエラーが出る場合はtry、exceptを用いることでEOFに関するエラーの対応もできる。

書き方は以下のようになる。

 

try:
    while True:
     a = input()
if a in bbb:
            print(a)
        else:
            print("Not found")

except EOFError as e:
    print()