python:有一个文本文件student.txt,其中包含了学生的学号,格式如下。
154772 154778 154784 154793 156273 …
假设现在要随机点几位学生回答问题。编写一个函数,每次调用从中抽取一位学生。在主程序中对其连续调用,并可以控制是否需要继续抽取。假设每次抽取的学生可以重复。
我的思路是:
1、先定义函数,读取stutent.txt文件中的所有行,把全部学号读入一个列表;然后随机返回列表中的一个值;
2、使用主程序,用while循环实现提问环节,询问是否抽取学生提问,如果是的,则使用定义的函数返回一个学生学号,否则则结束循环,退出程序
参考链接:
python如何读取文件的每一行_Alexand008的博客-CSDN博客_python读取文件的每一行
python随机产生一个范围内的整数_python如何生成整数范围内的随机数_weixin_39725594的博客-CSDN博客
import random
def getAStudent():
ids=[]
# https://blog.csdn.net/yiqiedouhao11/article/details/123457043
with open("student.txt") as f: #读取文件的每一行,把所有学号读入列表ids中
for line in f.readlines():
stus = line.strip().split(" ")
ids+=stus
#print(ids)
# https://blog.csdn.net/weixin_39725594/article/details/111795894
return random.choice(ids) #随机选择列表中的一个学号返回
if __name__ == "__main__":
#提问环节
choice=input("请问,是否抽取学生提问(是的请输入y,否请输入n):")
while choice=="y":
id = getAStudent()
print("\n请学号为"+str(id)+"的同学回答问题!")
choice= input("回答结束!继续抽取请输入y,结束请输入n:")
student.txt(测试文件)
154772 154778 154784 154793 156273
154773 154779 154786 154791 156275