Python生成2-20偶数数组 用for循环和append插入30-50可被7整除数
问题分析与修正方案
现有代码存在的问题
- 未提前初始化存储结果的数组:代码直接遍历
range返回的整数类型变量i调用append()方法,整数没有append属性,运行会直接抛出AttributeError。 - 循环逻辑错误:将插入目标数值的内层循环嵌套在生成偶数的循环内,会导致同一个被7整除的数字被重复插入多次。
- 范围参数设置错误:
range(2,20,2)的结束值为20,生成的序列最大仅到18,缺少要求包含的20;range(35,50,7)直接写死起始值,没有遵循「遍历30到50范围判断是否可被7整除」的要求,灵活性差也不符合题意。 - 输出对象错误:最终
print(i)打印的是循环变量,而不是目标数组,输出结果不符合预期。
正确实现代码
# 第一步:创建包含2到20所有偶数的数组 even_arr = [] for i in range(2, 21, 2): even_arr.append(i) # 第二步:遍历30到50范围,插入所有可被7整除的数字 for x in range(30, 51): if x % 7 == 0: even_arr.append(x) print(even_arr)
运行结果
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 35, 42, 49]
内容的提问来源于stack exchange,提问作者Seyidali Mirmatin
相关产品推荐
相关产品推荐

