利用 b 中得到的 students 的列表信息,对其进行两次随机点名(利用 random 标准库),每次随机点名为 15 名学生,要求输出两次随机点名都点 到的学生的基本信息,包括其班内序号、姓名、班级。
时间: 2024-05-09 16:22:11 浏览: 45
好的,我已经明白了您的要求。下面是代码实现:
```python
import random
students = [{'id':1, 'name':'张三', 'class':'一班'},
{'id':2, 'name':'李四', 'class':'一班'},
{'id':3, 'name':'王五', 'class':'一班'},
{'id':4, 'name':'赵六', 'class':'一班'},
{'id':5, 'name':'小明', 'class':'一班'},
{'id':6, 'name':'小红', 'class':'一班'},
{'id':7, 'name':'小王', 'class':'一班'},
{'id':8, 'name':'小李', 'class':'一班'},
{'id':9, 'name':'小刚', 'class':'一班'},
{'id':10, 'name':'小美', 'class':'一班'},
{'id':11, 'name':'小华', 'class':'一班'},
{'id':12, 'name':'小张', 'class':'一班'},
{'id':13, 'name':'小杨', 'class':'一班'},
{'id':14, 'name':'小林', 'class':'一班'},
{'id':15, 'name':'小武', 'class':'一班'},
{'id':16, 'name':'小刘', 'class':'一班'},
{'id':17, 'name':'小秦', 'class':'一班'},
{'id':18, 'name':'小陈', 'class':'一班'},
{'id':19, 'name':'小苏', 'class':'一班'},
{'id':20, 'name':'小胡', 'class':'一班'}]
# 第一次随机点名
name_list_1 = random.sample(students, 15)
print('第一次随机点名:')
for i in name_list_1:
print('基本信息-序号:{},姓名:{},班级:{}'.format(i['id'], i['name'], i['class']))
# 第二次随机点名
name_list_2 = random.sample(students, 15)
print('第二次随机点名:')
for i in name_list_2:
print('基本信息-序号:{},姓名:{},班级:{}'.format(i['id'], i['name'], i['class']))
# 输出两次随机点名都点到的学生的基本信息
same_name_list = []
for i in name_list_1:
if i in name_list_2:
same_name_list.append(i)
print('两次随机点名都点到的学生的基本信息:')
for i in same_name_list:
print('基本信息-序号:{},姓名:{},班级:{}'.format(i['id'], i['name'], i['class']))
```
以上代码会先定义一个包含 20 个学生信息的列表,然后进行两次随机点名,每次点名 15 名学生,最后输出两次随机点名都点到的学生的基本信息。需要注意的是,每次随机点名使用的是 random 标准库中的 sample 函数,它可以在列表中随机选择指定数量的元素。
阅读全文