点名系统

最近发现上网课的时候老师点名的时候很纠结,于是用python做了一个简单的点名软件
# -*- coding: UTF-8 -*-
import random
fp = open('花名册.txt', 'r', encoding='utf-8')
list01 = []
while True:
    while True:
        line1 = fp.readline()
        line1 = line1.strip('\n')
        line = line1.split('\t')
        list01.append(line)            #花名册,列表形式
        if line1 == '':
            break
    del list01[-1]
    random_number = random.randint(0, len(list01) - 1)
    print(list01[random_number])
    print('输入回车继续:')
    m = str(input())
    if m == '\n':
    	fp.cose()
        continue

使用方法

1.文件存放班级花名册 一般弄一次就够了
2.格式为学号+tab+姓名,可直接从班级excel复制粘贴到文件中
ps:作业文件命名中需含有学号或姓名
3.点击 第一个.exe
ps:exe和txt文件必须在同一个文件夹中

文件我已经上传,可以下载
下载链接

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

Edgar叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值