-1

上記のコードでは、他のキーを押すと、user_input を返す前にエラー メッセージが表示されるようにします。誰か助けてください?

4

2 に答える 2

2

whileループの最後で有効かどうかを確認します。

currencies = ['pound', 'euro', 'dollar', 'yen', '$', '£', '¥','€']

def get_currency(msg):
    while True:
        user_input = input(msg).lower()

        if user_input not in currencies:
            print('Invalid currency')
        else:
            return user_input
于 2013-04-17T18:15:46.637 に答える
2
# -*- coding: utf-8 -*-
valid = ['pound', 'euro', 'dollar', 'yen', '$', '£', '¥','€']
msg="Enter currency: "
def get_currency(msg):

    input_valid = input(msg).lower()

    while input_valid not in valid:       #run this loop until the input is not valid
        print ("Invalid Input, Try again")  #the error message
        input_valid = input(msg).lower()

    return input_valid

print (get_currency(msg))

出力:

~$ python3 so.py
Enter currency: foo
Invalid Input, Try again
Enter currency: bar
Invalid Input, Try again
Enter currency: pound
pound
于 2013-04-17T18:18:10.583 に答える