在python中,如何为超过特定值的数字引发Valueerror?

在python中,如何为超过特定值的数字引发Valueerror?,python,valueerror,Python,Valueerror,我试图创建一个函数,它接受非负整数n的阶乘。这一部分工作得很好,但如果输入值低于0或高于12,我还必须创建一个ValueError,但它不起作用 def阶乘(n): 倒计时=n 阶乘和=1 尽管如此: 尝试: 如果n==0: 返回1 如果n12: 升值误差 除值错误外: 返回“错误” 如果(倒计时/n)>0且n更换 try: if n == 0: return 1 if n < 0 or n > 12: raise ValueError

我试图创建一个函数,它接受非负整数n的阶乘。这一部分工作得很好,但如果输入值低于0或高于12,我还必须创建一个ValueError,但它不起作用

def阶乘(n):
倒计时=n
阶乘和=1
尽管如此:
尝试:
如果n==0:
返回1
如果n<0或n>12:
升值误差
除值错误外:
返回“错误”
如果(倒计时/n)>0且n更换

try:
    if n == 0:
        return 1
    if n < 0 or n > 12:
        raise ValueError
except ValueError:
    return 'Error'
试试看:
如果n==0:
返回1
如果n<0或n>12:
升值误差
除值错误外:
返回“错误”

如果n==0:
返回1
如果n<0或n>12:
升值误差
更换

try:
    if n == 0:
        return 1
    if n < 0 or n > 12:
        raise ValueError
except ValueError:
    return 'Error'
试试看:
如果n==0:
返回1
如果n<0或n>12:
升值误差
除值错误外:
返回“错误”

如果n==0:
返回1
如果n<0或n>12:
升值误差

如果立即捕获并返回某个值,为什么会引发错误?将该if条件移出while循环,并将其放在函数顶部。同样,如果没有
try catch
块,如果立即捕获并返回某个值,为什么会引发错误?将该if条件移出while循环,并将其放在函数顶部。同样,如果没有
try-catch
块,python也会在它周围进行tried,但是python希望在后面有一个except。@Simon-Wut?您是否将
try
留在了…?尝试过,但python希望在之后出现异常。@Simon Wut?您是否将
try
留在了…?