python 文件与异常

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

img