题目:
1、编写生成包含1000个随机数的列表,把列表中的偶数删除,并输出结果。
思路:先生成一个1000个随机数的列表→逐个判断是否为偶数,为偶数就删除。
代码:
涉及到的知识点:
①生成随机数:
random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
import random ——导入random模块
random.randint(start,end) ------产生 start 到 end 的一个整数型随机数
random.random() --------- 产生 0 到 1 之间的随机浮点数
random.uniform(1.1,5.4) – 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
random.choice(‘tomorrow’)----从序列中随机选取一个元素
②append()
原地修改列表,真正意义在列表尾部添加元素,速度较快。
需要列表名称打点调用。
③range(start, stop[, step]) :创建一个整数列表
计数从start开始,默认为0,计数到stop结束,但不包括stop。step是步长,默认为1,也可为负数。
④切片
L=list(range(10)) L[n1:n2:n3]
n1: 切片开始位置,默认为0 n2:切片截止(但不包含)位置,默认为列表长度 n3:切片步长,默认为1,当步长省略时可省略最后一个冒号
题目
2、编写程序,输入一个大于2的自然数,然后输出小于该数字的所有素数组成的列表。
思路:输入一个大于2的自然数,得到一个小于该数字的所有数的列表→让每一个元素依次和2~它-1的数相除,若每次的结果余数=0则为素数,若有一次≠0则删除→1,2不进行判断
代码:
运算结果:
涉及知识点
①input()得到的是一个str字符型变量,需要类型转换成int型
②设置一个列表变量,需要先赋值一个空列表。 list=[]
感悟
① 检验代码的正确性需要用较多、较大的值来测试,才能发现一些潜在或者自己没有发现的问题,进而优化代码。
② 可以通过中间过程的输出结果,判断错误在哪,分析代码的逻辑合理性,进行修正。