Python创建2-20偶数数组并插入30-50可被7整除元素的实现
Python需求实现校验与正确方案
原代码问题排查
原代码存在多处语法、逻辑错误,无法正常运行:
- 语法错误:两层for循环后没有对应缩进的执行代码块,不符合Python缩进规则
- 逻辑错误:使用嵌套循环遍历两类数字,会导致重复插入目标值,完全不符合需求逻辑
- 调用错误:
append()是数组/列表对象的方法,不能用遍历得到的单个元素i调用 - 返回值错误:
append()是原地修改方法,没有返回值,赋值给my_ar最终得到的是None - 选型问题:如果没有特殊要求,日常开发用Python内置列表即可,不需要额外引入
array模块,你使用的array('b')是有符号字符类型,仅适合存储小范围整数,通用性差
正确实现
方案1:使用Python内置列表(最常用)
# 第一步:创建2到20的偶数列表 my_ar = [x for x in range(2, 21, 2)] # 第二步:遍历30到50的数字,筛选可被7整除的数用append插入 for num in range(30, 51): if num % 7 == 0: my_ar.append(num) print(my_ar)
运行输出为:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 35, 42, 49]
方案2:必须使用array模块的实现
如果要求必须使用array模块,可参考以下代码:
from array import array # 用'i'类型表示有符号整数,适用性更强 my_ar = array('i', [x for x in range(2, 21, 2)]) for num in range(30, 51): if num % 7 == 0: my_ar.append(num) # 转成列表打印更直观,也可以直接打印array对象 print(list(my_ar))
内容的提问来源于stack exchange,提问作者Hipster TV
相关产品推荐
相关产品推荐

