使用使用
rand
函数写一个随机点名的程序,
实现以下功能
:
已知学生列表
,
输入学生个数,随机输出指定个数的学生姓名。
import numpy as np
import pandas as pd
def students_select(students, num):
# 从学生列表中随机选择指定数量 num 个学生
n=len(my_students)
for i in range(num):
r=np.random.rand()
j=int(r*(n-i))
name=my_students[j]
yield name
my_students.pop(j)
# 使用班级名单测试
myread=pd.read_excel( '学生名单.xlsx ',usecols=[0])
myread_arr=np.asarray(myread.stack( ) )
students=myread_arr.tolist()#转List
my_students=students
print ("本班级共有",len(students),"个学生")
num=int(input("请输入点名的学生个数:"))
for name in students_select(students,num):
print(name)
输入点名的学生个数,输出结果如下
本班级共有 77 个学生
请输入点名的学生个数:3
贾菌
贾代善
莺儿娘
本班级共有 77 个学生
请输入点名的学生个数:6
贾蘅
贾喜鸾
贾琼
贾化
贾萍
贾演