题目:班级里有100名学生,按照90及以上,80(含)-90,60(含)-80,60以下划分成“尖子生”、“优秀生”、“合格生”、“学困生”。
思路:1、原教材里有100个学生和成绩的列表,我手里没有,需要先生成一个名字和成绩的名单
2、该程序关键在于循环嵌套和基本语法(如调用random,将提取列表元素中数值等)
下面是全部代码:
第一段:生成样本
#########先生成100份样本,包括名字和成绩#########
import random # 加载随机数
import string # 加载字符串
nameandscore = [] # 定义空列表
i = 0 # 创建循环
while i <= 99:
names = "".join(random.sample(string.ascii_uppercase,3)) # 随机生成三个大写字母作为名字
score = str(random.randrange(0, 101)) # 0-100中的数字作为分数
nas = [names, score] # 将names和score匹配成为含两个元素的列表
i = i+1
nameandscore.append(nas) # 将每个nas中的元素添加到NAMES中,现在已经有了一百个人,对应一百个成绩
print(nameandscore)
取其中一次运行结果:
##########成绩每运行一次就会生成一个新列表,下面是我取其中一次的结果
nameandscore = [['SJX', '50'], ['XKG', '71'], ['IFX', '79'], ['NWZ', '69'], ['TNI', '63'], ['KOT', '22'], ['HNP', '41'], ['OHR', '