如何用while循环计算指定列表中能被3整除的数的和?(预期结果51)
使用while循环计算列表中能被3整除的数的和
原代码的问题
- 直接对列表执行取模运算:列表是容器对象,无法直接和整数做
%运算,会抛出TypeError。 - 循环条件逻辑错误:没有设置遍历列表的索引机制,无法逐个检查列表元素。
- 累加操作错误:
total += list是将整个列表对象赋值给total,而非累加符合条件的元素值。
修正后的代码
total = 0 num_list = [1, 3, 4, 6, 8, 9, 11, 13, 15, 16, 17, 18] i = 0 # 初始化索引变量,用于遍历列表 while i < len(num_list): current_num = num_list[i] if current_num % 3 == 0: total += current_num i += 1 # 索引自增,遍历下一个元素 print(total) # 输出结果:51
代码说明
- 用索引变量
i控制while循环的执行,从0开始遍历整个列表。 - 每次循环取出当前索引对应的元素
current_num,判断是否能被3整除。 - 符合条件的元素累加到
total中,遍历完成后输出最终结果。
内容的提问来源于stack exchange,提问作者forzakot
相关产品推荐
相关产品推荐

