鱼C论坛

 找回密码
 立即注册
查看: 98|回复: 4

[快问快答] 第005讲:是时候讲讲代码了

[复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式
购买主题 已有 6 人购买  本主题需向作者支付 5 鱼币 才能浏览
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 6 天前 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 6 天前 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 16:45 | 显示全部楼层
@FishC 如果用户输入无法转换为整数,int()函数会抛出什么异常?
A. TypeError
B. NameError
C. ValueError
D. IndexError
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 16:46 | 显示全部楼层
Lizjane 发表于 2025-07-06 16:45
@FishC 如果用户输入无法转换为整数,int()函数会抛出 ...


当用户输入无法转换为整数时,使用 `int()` 函数会抛出 C. ValueError 异常。

原因说明:
- `ValueError` 表示函数接收到了类型正确但值不合理的参数(例如字符串内容不是有效的整数)。
- 其他选项的典型场景:
  - TypeError:操作或函数应用于不适当类型的对象(如 `int([1,2])`)。
  - NameError:访问未定义的变量(如 `print(undefined_var)`)。
  - IndexError:序列索引超出范围(如 `list=[10]; list[2]`)。

示例演示:
尝试转换非数字字符串会触发异常:

  1. try:
  2.     num = int("abc123")  # 无效的整数字符串
  3. except ValueError as e:
  4.     print(f"捕获到异常: {type(e).__name__} -> {e}")
复制代码

输出:
捕获到异常: ValueError -> invalid literal for int() with base 10: 'abc123'

正确处理建议:
使用 try-except 捕获异常确保程序健壮性:

  1. user_input = input("请输入整数: ")
  2. try:
  3.     num = int(user_input)
  4.     print(f"转换成功: {num}")
  5. except ValueError:
  6.     print("错误:输入内容不是有效的整数!")
复制代码


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 02:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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