python实现随机点名程序

使用numpy的random.rand函数和pandas处理Excel数据,实现从学生列表中按指定数量随机抽取学生姓名的功能。程序读取Excel文件获取学生名单,用户输入点名人数,然后依次打印出被点到的学生姓名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用使用 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
贾蘅
贾喜鸾
贾琼
贾化
贾萍
贾演

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值