Python练习报错:'int'对象无'append'属性,求解决方案
问题原因与解决办法
错误原因
- 你将
sum_extra初始化为整数-999,但append()是列表专属方法,整数对象没有这个属性,因此触发AttributeError。 - 初始值设为
-999完全不符合需求,不管是用列表存储额外学分还是直接累加,这个初始值都会导致最终结果错误。
解决办法
有两种简单的修正思路,任选其一即可:
思路1:用列表存储额外学分后求和
把sum_extra初始化为空列表,循环中收集所有额外学分,最后用sum()计算总额:
user_input = input() test_grades = list(map(int, user_input.split())) sum_extra = [] # 初始化为空列表 for i in test_grades: if i > 100: sum_extra.append(i - 100) sum_extra = sum(sum_extra) print(sum_extra)
思路2:直接用整数累加(更高效)
把sum_extra初始化为0,循环中直接累加符合条件的额外学分,无需额外列表:
user_input = input() test_grades = list(map(int, user_input.split())) sum_extra = 0 # 初始化为0,用于累加 for i in test_grades: if i > 100: sum_extra += i - 100 print(sum_extra)
内容的提问来源于stack exchange,提问作者Zerokia
相关产品推荐
相关产品推荐

