鱼C论坛

 找回密码
 立即注册
查看: 104|回复: 2

求助大佬一道题,感谢

[复制链接]
发表于 2024-5-20 21:31:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这是题:

从键盘输入a和b,求a除以b的结果并输出。完善下面程序,使之能够处理多种异常。

例如:从键盘输入除数,就有可能会输入0,而除数为0是个很严重的错误,应该进行ZeroDivisionError异常的捕获和处理。
【输入形式】
【输出形式】
【样例输入】
10
abc
【样例输出】输入的值不对!
【样例输入】
a
10
【样例输出】一个其他异常!
【样例输入】
10
0
【样例输出】 除数不能为0!


这是我目前的答案:
try:
    a=int(input())
    b=int(input())
    c=a/b
except(ValueError):
    print("输入的值不对!")
except(ZeroDivisionError):
    print("除数不能为0!")
else:
    print("c=",c)


肯定是有问题的,少一种情况,我应该怎么改?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-5-20 21:31:46 | 显示全部楼层
你的代码已经很棒了,只需要再加一个对于其他异常的捕获即可。完整的代码如下:

  1. try:
  2.     a = int(input())
  3.     b = int(input())
  4.     c = a / b
  5. except ValueError:
  6.     print("输入的值不对!")
  7. except ZeroDivisionError:
  8.     print("除数不能为0!")
  9. except:
  10.     print("发生了其他异常!")
  11. else:
  12.     print(f"c = {c}")
复制代码


解释一下:

1. 首先我们用 `try` 语句捕获可能出现的异常,包括 `ValueError` (当输入无法转换为整数时)和 `ZeroDivisionError` (当除数为0时)。
2. 对于 `ValueError` 异常,我们打印 "输入的值不对!"。
3. 对于 `ZeroDivisionError` 异常,我们打印 "除数不能为0!"。
4. 对于其他未知的异常,我们使用一个空的 `except` 语句捕获,并打印 "发生了其他异常!"。
5. 如果没有发生任何异常,我们就在 `else` 语句块中打印计算结果 `c`。

这样就能够处理你提到的所有可能的情况了。如果你有任何其他问题,欢迎继续问我!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-22 21:00:41 | 显示全部楼层
  1. def main():
  2.     a=input()
  3.     b=input()
  4.     try:
  5.         b = int(b)
  6.     except:
  7.         print("输入的值不对!")
  8.         return
  9.     try:   
  10.         a = int(a)
  11.     except:
  12.         print("一个其他异常")
  13.         return
  14.    
  15.     if b == 0:
  16.         print("除数不能为0!")
  17.         return
  18.     print(a/b)

  19. if __name__ == '__main__':
  20.     main()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-3 16:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表