|
发表于 2025-7-29 21:03:41
|
显示全部楼层
当用户输入无法转换为整数时,`int()`函数会抛出 ValueError 异常。以下是详细解释:
原因分析:
- `int()`函数要求传入的字符串必须完全由数字组成(如 "123"),或符合整数的格式(如允许开头的正负号)。
- 如果传入的字符串包含非数字字符(如 "abc"、"12.3"、"3,000" 等),则会触发 ValueError。
示例演示:
- try:
- num = int("fishc") # 尝试将非数字字符串转为整数
- except ValueError as e:
- print(f"捕获到异常:{e}")
复制代码
运行结果:
- 捕获到异常:invalid literal for int() with base 10: 'fishc'
复制代码
选项解析:
- A. TypeError:当操作对象类型不匹配时触发(如 `int([1,2,3])`),不符合本题场景。
- B. NameError:当变量名未定义时触发(如 `print(undefined_var)`),无关。
- C. ValueError:因值格式错误触发(如字符串转整数失败),符合本题场景。
- D. IndexError:当索引超出范围时触发(如 `list[10]` 访问越界),无关。
正确答案:C. ValueError
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|