1. ホーム
  2. python

[解決済み] 退出時の質問で "y "と書かれたものを "yes "と表示するには?[クローズド]

2022-02-08 23:57:38

質問内容

という質問で、ユーザーが "y" と書いたら "yes" と表示し、 "n" と書いたら "no" と表示したいのですが、どうすればいいですか? そして2つ目の問題は、"y" や "n" の代わりに何か文字を書いても、コードが実行されたままになってしまうことです。どうすれば直るのでしょうか?

residuary = 1000

while True:

    operation = input("Select operation: ")

    if(operation == "q"):
        print("Are you sure for exit? (y/n)")
        answer = input("Answer:")
        y = "yes"
        n = "no"
        if(answer == "y"):
            print("See you again ")
            break
        else:
            continue
    elif(operation== "1"):
        print("Residuary is ${} .".format(residuary))
    elif (operation== "2"):
        amount = int(input("Amount you want to invest: "))
        residuary += amount
        print("${} sent to account.".format(amount))
        print("Available Residuary ${} ".format(residuary))
    elif (operation == "3"):
        amount = int(input("Amount you want to withdraw: "))
        if(amount > residuary):
                print("You can not withdraw more than available residuary!")
                continue
        residuary -= amount
        print("${} taken from account.".format(amount))
        print("Available Resiaduary ${} ".format(residuary))
    else:
        print("Invalid Operation!")

解決方法は?

質問が明確ではありません。あなたはこう言っています。 私は、quot;Are you sure for the exit" の質問で、ユーザーが "y" と書いたときに "yes" を、ユーザーが "n" と書いたときに "no" を印刷したいのです。 が、この行は input("Answer:") ステートメントを使ってユーザーの希望を収集するまでに表示されているはずです。

次のようなコードを考えていますか?

if(operation == "q"):
    quit = False
    while(True):
        print("Are you sure you want to exit? ([y]es/[n]o)")
        answer = input("Answer:")
        if(answer.lower() == 'y': #You may check startswith() as well
            quit = True
            print('You chose yes')
            break
        elif(answer.lower() == 'n':
            print('You chose no')
            break
    if quit:
        print("See you again ")
        break
else:
    continue