Python:整数解析触发TypeError,需实现两位数各位数字求和
解决两位数各位数字求和的Python代码错误问题
原代码
two_digit_number = input() yellow = int(two_digit_number) print(type(yellow)) print(str(yellow[1]))
报错信息
<class 'int'> Traceback (most recent call last): File "main.py", line 8, in <module> print(str(yellow[1])) TypeError: 'int' object is not subscriptable
错误原因
你将输入的字符串转为整数yellow后,试图用下标[1]访问它的第二位——但整数类型不支持下标访问,只有字符串、列表这类可迭代对象才能通过下标取值。
修正方案
这里提供两种可行的实现方式:
方案1:直接操作输入字符串(适合确定输入为两位数的场景)
输入本身是字符串,直接取两个字符转整数求和即可:
two_digit_number = input().strip() sum_digits = int(two_digit_number[0]) + int(two_digit_number[1]) print(sum_digits)
方案2:数学运算拆分整数(通用型方案)
通过整除和取余操作拆分十位和个位,不需要依赖字符串下标,更灵活:
two_digit_number = input().strip() num = int(two_digit_number) sum_digits = (num // 10) + (num % 10) print(sum_digits)
两种方案输入34都会输出7,满足需求。
内容的提问来源于stack exchange,提问作者Monica PR
相关产品推荐
相关产品推荐

