1. ホーム
  2. python

[解決済み】ユーザー入力に基づき、プログラムを再起動するには?

2022-01-30 20:39:38

質問

ユーザーからの入力に基づき、ifテストを使用してプログラムを再起動しようとしています。

このコードは動作しませんが、おおよそ私が求めているものです。

answer = str(raw_input('Run again? (y/n): '))

if answer == 'n':
   print 'Goodbye'
   break
elif answer == 'y':
   #restart_program???
else:
   print 'Invalid input.'

私がやろうとしていることは

  • yと答えた場合 - プログラムは先頭から再開されます。
  • {を使用します。 nと答えるとプログラムが終了します(その部分は動作します) {を使用します。 それ以外を入力すると、'Invalid input. Please enter y or n...'などと表示され、再度入力を求められるはずです。

while true」ループで解決に近づきましたが、プログラムは何を押しても(nを除いて)再スタートするか、何を押しても(yを除いて)終了してしまうかのどちらかです。何かアイデアはありますか?

解決方法は?

これを試してみてください。

プレ while True: # main program while True: answer = str(input('Run again? (y/n): ')) if answer in ('y', 'n'): break print("invalid input.") if answer == 'y': continue else: print("Goodbye") break

内側のwhileループは、入力が以下のいずれかになるまでループします。 'y' または {コード . 入力が 'n'