如何使try函数仅打印我的消息一次

时间:2019-06-25 07:22:45

标签: python-3.x

我尝试使用try()函数,但是当我尝试:然后键入print()时,它只是不停地打印消息。如何使它只打印一次?

def inputInt(minv, maxv, message):
    res = int(input(message))
    while (res > minv) and (res < maxv):
        try:
            print("Good job.")
        except:
            print("Invalid input")

2 个答案:

答案 0 :(得分:1)

您是否尝试过height : 2 lenght : 2 x :1 y :1 1 1 [['0', '0'], ['0', 'f']]

看看thisthis可以得到更多的说明,但是如果您希望一次尝试跳转到除外,它应该只打印一次,{{1} }就是这个东西。

我必须说,如果您不更改break,此循环将永远持续下去。即使它出现在breakres中。

答案 1 :(得分:1)

可能引发异常的代码应该在try中。输入应在while内部。如果发生意外异常,请捕获预期的异常。裸露的except是不好的做法,并且可以隐藏错误。

这是建议的实现方式:

def inputInt(minv, maxv, message):
    while True: # Loop until break
        try:
            res = int(input(message)) # Could raise ValueError if input is not an integer.
            if minv <= res <= maxv:   # if res is valid,
                break                 #    exit while loop
        except ValueError:            # Ignore ValueError exceptions
            pass
        print("Invalid input")        # if didn't break, input or res was invalid.
    return res                        # Once while exits, res is good

x = inputInt(5,10,"enter number between 5 and 10: ")