Python 递归阶乘函数:添加非法输入检查,避免程序崩溃!
为了处理非法输入,我们可以在函数中添加一些检查,以确保输入是一个非负整数。如果输入不合法,可以抛出一个异常或返回一个错误消息。以下是修改后的代码: ```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` 块来捕获并处理可能的异常。这样,当输入非法时,程序不会崩溃,而是会输出一个友好的错误消息。 ######[AI写代码神器 | 235点数解答 | 2024-12-03 19:45:36]
相关提问
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)364
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)380
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)496
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- jQuery 实现动态操作 DOM:打造可增删任务的待办事项列表应用(百度文心 | 1015点数解答 | 2024-10-26 23:41:22)452
- jQuery 打造实用待办事项列表:输入添加、点击删除一步到位!(阿里通义 | 1139点数解答 | 2024-10-29 08:44:48)369
- jQuery 实现动态操作 DOM:打造带添加与删除功能的待办事项列表应用(阿里通义 | 687点数解答 | 2024-10-29 09:25:06)381
- jQuery 实战:打造可添加与删除任务的待办事项列表应用(字节豆包 | 499点数解答 | 2024-10-29 20:40:48)292
- Python 实现:带边界处理与验证的任意基数数字转换递归程序(字节豆包 | 198点数解答 | 2024-11-21 14:20:25)457
- Python 递归函数实现:将数字转换为指定基数的输出(百度文心 | 499点数解答 | 2024-11-22 09:58:55)355
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)449
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)441