我已经写了下面的函数。如果我传递一个整数或字符串,它将工作:如果我传递一个整数,程序将计算阶乘,如果我传递一个字符串,它将用isinstance
检查类型并打印错误消息。你知道吗
但是,如果我传递一个浮点数或负数,程序将打印一个错误。。。在我的秒状态下。我说过,如果n
小于0,那么就打印那个错误消息,但显然它不起作用,我也不知道为什么。你知道吗
def factorial(n):
if not isinstance(n,int):
print('Factorial is only defined for integers.')
return(None)
elif n<0:
print('Factorial is not defined for negative integers.')
return(None)
elif n==0:
return(1)
else:
return(n*factorial(n-1))
如何更改程序,使条件语句适用于浮点数和负数?我不想使用try
和except
。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐