点名系统

# 创建一个字典students,key是学号,value是姓名
# 学生信息在students.csv文件里,从文件中读取并保存到字典

# 打开students.csv文件
file=open(r'C:\Users\meilidemeimei\Desktop\students.csv','r')

# 读取文件内容
lines=file.readlines()
# 抽取每行的学号和姓名,保存到字典
students={}
for line in lines:
    tmp_list=line.split(',')
    xuehao=tmp_list[0]
    xingming=tmp_list[1]
    students[xuehao]=xingming
    
# 从学号中随机抽取N个学号
import random

num=int(input("输入你要抽取的人数:"))

输入你要抽取的人数:2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java点名系统可以用来随机点名学生,可以使用Java的GUI界面来实现。以下是一个简单的示例代码: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class RollCallSystem extends JFrame implements ActionListener { private JButton button = new JButton("点名"); private JLabel label = new JLabel("请点击'点名'按钮进行点名"); private String[] students = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十"}; private ArrayList<String> list = new ArrayList<>(Arrays.asList(students)); public RollCallSystem() { setTitle("Java点名系统"); setLayout(new BorderLayout()); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); panel.add(button); button.addActionListener(this); add(panel, BorderLayout.NORTH); add(label, BorderLayout.CENTER); } public void actionPerformed(ActionEvent e) { if (e.getSource() == button) { if (list.isEmpty()) { label.setText("所有学生已被点名"); } else { int randomIndex = new Random().nextInt(list.size()); String student = list.remove(randomIndex); label.setText("被点名的学生是:" + student); } } } public static void main(String[] args) { RollCallSystem rollCallSystem = new RollCallSystem(); rollCallSystem.setVisible(true); } } ``` 上述代码中,我们定义了一个`RollCallSystem`类,继承自`JFrame`类,并实现了`ActionListener`接口。在`RollCallSystem`类中,我们定义了一个“点名”按钮`button`和一个标签`label`,用来显示被点名的学生。我们还定义了一个学生名字数组`students`和一个学生名字列表`list`,用来存储还未被点名的学生名字。 在`RollCallSystem`类的构造方法中,我们设置了窗口的标题、大小、关闭操作,并使用`BorderLayout`布局管理器来布局窗口中的组件。我们将“点名”按钮添加到窗口的北部,并为按钮添加了一个事件监听器。我们将标签添加到窗口的中央。 在`actionPerformed`方法中,我们判断事件源是否为“点名”按钮。如果是,“点名”按钮被点击,我们首先判断学生名字列表`list`是否为空。如果为空,说明所有学生都已被点名,我们将标签文本设置为“所有学生已被点名”。如果不为空,我们使用`Random`类生成一个随机数,用来随机选择学生名字列表`list`中的一个学生名字。然后,我们从列表中移除该学生名字,并将标签文本设置为“被点名的学生是:学生名字”。 最后,在`main`方法中,我们创建了一个`RollCallSystem`对象,并将其设置为可见。运行程序后,我们可以点击“点名”按钮进行点名。每次点击按钮后,程序会随机选择一个还未被点名的学生,并将其名字显示在标签中。当所有学生都被点名后,点击“点名”按钮将显示“所有学生已被点名”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值