酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

def factorial_recursive(n): if n == 0 or n == 1: return 1 else: return n * factorial_recursive(n-1) print(factorial_recursive(5)) 添加非法输入

为了处理非法输入,我们可以在函数中添加一些检查,以确保输入是一个非负整数。如果输入不合法,可以抛出一个异常或返回一个错误消息。以下是修改后的代码: ```python def factorial_recursive(n): if not isinstance(n, int) or n < 0: raise ValueError("Input must be a non-negative integer.") if n == 0 or n == 1: return 1 else: return n * factorial_recursive(n-1) try: print(factorial_recursive(5)) except ValueError as e: print(e) ``` 在这个版本中,我们首先检查 `n` 是否为非负整数。如果不是,则抛出一个 `ValueError` 异常。然后,我们在调用函数时使用 `try` 和 `except` 块来捕获并处理可能的异常。这样,当输入非法时,程序不会崩溃,而是会输出一个友好的错误消息。 [2024-12-03 19:45:36 | AI写代码神器 | 235点数解答]

相关提问