スタンドアロンの Python プログラムを作成する場合は、メイン関数を使用することをお勧めします。いくつかの単体テストを簡単に追加したり、他のモジュールから関数やクラスを使用したり (インポートした場合) などを行うことができます。
他の条件が満たされていない場合に、ある条件が満たされているかどうかを確認し、どの条件が真であるかに応じていくつかのアクションを実行する必要がある場合は、if…elif…else ステートメントを使用できます。
また、この場合、プログラムに input() 関数を使用できないことに注意してください。ここで本当に使いたいのは raw_input です。これら 2 つの関数の違いは、raw_input() は常に文字列を返し、input() は、input() ではなくコードに記述されているかのようにユーザーの入力を評価することです。したがって、ユーザーが "y" (引用符を含む) を入力すると、文字列オブジェクトが変数の値として格納されます。しかし、ユーザーが (引用符なしで) y を入力すると、input() はこれを評価しようとし、y が定義されていない場合はエラーがスローされます。
このテーマの詳細については、こちらをご覧ください。
def main():
while True:
again = raw_input("Would you like to play again? Enter y/n: ")
if again == "n":
print ("Thanks for Playing!")
return
elif again == "y":
print ("Lets play again..")
else:
print ("You should enter either \"y\" or \"n\".")
if __name__ == "__main__":
main()