微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

而True:试试:除了ValueError:

如何解决而True:试试:除了ValueError:

我想做一个这样的功能

while True:
    try:
        x = int(input("Please enter a number 1 - 5: "))
        print (x)
    except ValueError:
        print "Oops!  That was not a valid number. Try again..."

但是我如何确保只有在x介于0到6之间时才会打印“ x”。

解决方法

如果要保留异常流,可以在用户输入无效值时引发异常。

while True:
    try:
        x = int(input("Please enter a number 1 - 5: "))
        if x < 1 or x > 5:
            raise ValueError('Input not valid')   # go to except block
        print (x)
    except ValueError:
        print ("Oops!  That was not a valid number. Try again...")

您还可以编写循环而不会引发异常:

while True:
    x = int(input("Please enter a number 1 - 5: "))
    if x < 1 or x > 5:
        print ("Oops!  That was not a valid number. Try again...")
        continue  # skip print 
    print (x)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。