如何使用break语句

我在2.7中有一个正常工作的货币转换器,但我想确保该程序不会获取用户无法处理的数据。


如何获得与案例无关的用户输入

如果用户输入错误,如何使程序重新启动;即休息一下,但是尽管四处寻找并测试了一些方法,但我仍无法弄清楚该如何做。

我保留了其余的代码,因为它与使用预设数字的第一组乘法实际上无关紧要。


currency = str(raw_input ("""what currency would you like to covert: GBP, EURO, USD OR YEN?

"""))

exchange = str(raw_input("""what currency would you like in exchange? : GBP, EURO, USD OR YEN?

                              """))

amount = int(input("""how much would you like to convert?

                      """))

decision = str(raw_input("""Please enter u for user input exchange rate or s for the preset exchange rate

"""))


if decision == "u" :

    user_rate = raw_input("Please enter the current exchange rate")

    exchange_value = int(amount) *  int(user_rate)

    print ("At the user found exchange rate you will receive",exchange_value,exchange)


elif decision == "s" :

    if currency  == "GBP" and exchange == "USD":

        exchange_value= int(amount) * 1.6048

        print ("At the preset exchange rate you will receive",exchange_value,exchange)


    if currency  == "GBP" and exchange == "EUR":

        exchange_value= int(amount) * 1.2399

        print ("At the preset exchange rate you will receive",exchange_value,exchange)


跃然一笑
浏览 206回答 2
2回答

繁花不似锦

这样的事情将帮助您入门    valid_input = ('EUR', 'GBP', 'USD', 'JPY')    while True:        # Obtain user data        # Make sure all its in caps        currency = currency.upper()        exchange = exchange.upper()        if currency in valid_input and exchange in valid_input:            break          print ("Error Invalid input, try again...")    # Proccess data...

摇曳的蔷薇

1)您可以使用相同的大小写来比较用户输入的字符串if currency.lower() == 'gbp'或者if currency.upper() == 'GBP'2)您可以在while循环中运行程序,这样,如果不满足条件,则可以continue循环到下一次迭代(这将从头开始重新启动程序)while True:  # get user input  # validate user input  # if input not valid continue, which will "restart" your program
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python