欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python輕松寫個課堂隨機(jī)點(diǎn)名系統(tǒng)

 更新時間:2023年01月03日 11:25:14   作者:輕松學(xué)Python  
現(xiàn)在的學(xué)生大部分都很積極,會主動舉手回答問題。但是,也會遇到一些不好的情況,比如年級越高主動舉手的人越少,所以本文寫了一個隨機(jī)的學(xué)生點(diǎn)名系統(tǒng)可以幫老師解決這些問題

起因

剛上大學(xué)的表弟問我,大學(xué)準(zhǔn)備好好玩玩,問我有沒有什么不掛科的秘訣。

于是我連夜給表弟寫了一個課堂點(diǎn)名系統(tǒng),讓他給每個任課老師都送一遍,方便老師就是方便自己,嘿嘿~

準(zhǔn)備工作

首先我們需要準(zhǔn)備好點(diǎn)名的姓名文件,使用的時候?qū)脒M(jìn)去就可以開始點(diǎn)名了。

新建一個文本文檔,將姓名設(shè)置設(shè)置好,如下:

使用系統(tǒng)庫和第三方庫都比較常規(guī)

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from qdarkstyle import load_stylesheet_pyqt5
import os
import sys
import time
import random

效果展示

恭喜麻辣香鍋喜提點(diǎn)名,盧姥爺不甘寂寞,出來兩次都沒點(diǎn)中,看來雀氏涼了~

代碼實戰(zhàn)

點(diǎn)名功能實現(xiàn)

class WorkThread(QThread):
    trigger = pyqtSignal(str)
    finished = pyqtSignal(bool)
    def __init__(self, parent=None):
        super(WorkThread, self).__init__(parent)
        self.parent = parent
        self.working = True
    def __del__(self):
        self.working = False
        self.wait()
    def run(self):
        data_list = self.parent.data_list
        if len(data_list) >= 1:
            ran = random.randint(20, 40)
            print('遍歷次數(shù):', ran)
            for a in range(ran):
                name = random.choice(data_list)
                self.trigger.emit(name)
                print(name)
                time.sleep(0.6)
            self.finished.emit(True)
        else:
            self.trigger.emit('無數(shù)據(jù)')

頁面布局主要代碼

class ClassCollSystem(QWidget):
    def __init__(self):
        super(ClassCollSystem, self).__init__()
        self.data_list = []
        self.init_ui()
    def init_ui(self):
        '''子線程調(diào)用'''
        self.thread_ = WorkThread(self)
        self.thread_.trigger.connect(self.set_name)
        self.thread_.finished.connect(self.finished)
        '''應(yīng)用初始化信息'''
        self.setWindowTitle('源碼自取君羊708525271 ')
        self.setWindowIcon(QIcon('課堂點(diǎn)名.ico'))
        self.setFixedSize(500, 350)
        '''姓名信息布局'''
        vbox_name = QVBoxLayout()
        self.current_name = QLabel()
        self.current_name.setText('隨機(jī)點(diǎn)名啦')
        self.current_name.setStyleSheet(
            'font-size:50px;text-align:center;font-weight:bold;font-family:"Microsoft JhengHei";')
        vbox_name.addWidget(self.current_name)
        vbox_name.setAlignment(Qt.AlignCenter)
        '''開始信息布局'''
        vbox_start = QVBoxLayout()
        self.start_btn = QPushButton()
        self.start_btn.setText('開始點(diǎn)名')
        self.start_btn.setFixedSize(160, 50)
        self.start_btn.setStyleSheet(
            'font-size:30px;font-weight:bold;text-align:center;font-family:"Microsoft JhengHei";')
        self.start_btn.clicked.connect(self.start_btn_click)
        vbox_start.addWidget(self.start_btn)
        vbox_start.setAlignment(Qt.AlignCenter)
        vbox_start.addSpacing(80)
        '''數(shù)據(jù)信息布局'''
        vbox_data = QHBoxLayout()
        self.message = QLabel()
        self.message.setText('源碼自取君羊708525271')
        self.message.setStyleSheet(
            'font-size:12px;')
        self.import_btn = QPushButton()
        self.import_btn.setText('導(dǎo)入數(shù)據(jù)')
        self.import_btn.setFixedSize(90, 25)
        self.import_btn.clicked.connect(self.import_btn_click)
        vbox_data.addWidget(self.message)
        vbox_data.addStretch(1)
        vbox_data.addWidget(self.import_btn)
        '''整體布局'''
        vbox = QVBoxLayout()
        vbox.addLayout(vbox_name)
        vbox.addLayout(vbox_start)
        vbox.addLayout(vbox_data)
        self.setLayout(vbox)
    def start_btn_click(self):
        if self.start_btn.text().strip() == '開始點(diǎn)名':
            self.thread_.start()
        else:
            self.start_btn.setText('開始點(diǎn)名')
    def set_name(self, name):
        self.current_name.setText(name)

    def finished(self, finished):
        if finished is True:
            self.start_btn.setText('就是你了')

    def import_btn_click(self):
        file = QFileDialog.getOpenFileName(self, '選擇文件', os.getcwd(), 'Text File(*.txt)')
        file_path = file[0]
        print(file_path)
        fl = open(str(file_path), 'r', encoding='utf-8')
        self.data_list = fl.read().strip().split('\n')
        print(self.data_list)
        self.message.setText('信息提示 | 成功導(dǎo)入[' + str(len(self.data_list)) + ']條人員信息')

到此這篇關(guān)于Python輕松寫個課堂隨機(jī)點(diǎn)名系統(tǒng)的文章就介紹到這了,更多相關(guān)Python課堂點(diǎn)名系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python實現(xiàn)漢諾塔問題示例

    使用Python實現(xiàn)漢諾塔問題示例

    這篇文章主要介紹了使用Python實現(xiàn)漢諾塔問題示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 詳解10個可以快速用Python進(jìn)行數(shù)據(jù)分析的小技巧

    詳解10個可以快速用Python進(jìn)行數(shù)據(jù)分析的小技巧

    這篇文章主要介紹了詳解10個可以快速用Python進(jìn)行數(shù)據(jù)分析的小技巧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • python 字典(dict)遍歷的四種方法性能測試報告

    python 字典(dict)遍歷的四種方法性能測試報告

    本文主要是針對Python的字典dict遍歷的4種方法進(jìn)行了性能測試,以便分析得出效率最高的一種方法
    2014-06-06
  • Python用20行代碼實現(xiàn)批量摳圖功能

    Python用20行代碼實現(xiàn)批量摳圖功能

    在日常的工作和生活中,我們經(jīng)常會遇到需要摳圖的場景,即便是只有一張圖片需要摳,也會摳得我們不耐煩。本文將為大家分享一個20行代碼就能實現(xiàn)是批量摳圖,需要的可以參考一下
    2022-05-05
  • 在Tensorflow中查看權(quán)重的實現(xiàn)

    在Tensorflow中查看權(quán)重的實現(xiàn)

    今天小編就為大家分享一篇在Tensorflow中查看權(quán)重的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python3 JSON 數(shù)據(jù)解析及日期和時間小結(jié)

    Python3 JSON 數(shù)據(jù)解析及日期和時間小結(jié)

    這篇文章主要介紹了Python3 JSON 數(shù)據(jù)解析及日期和時間,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • python 巡檢腳本的項目實踐

    python 巡檢腳本的項目實踐

    本文主要介紹了python 巡檢腳本的項目實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Python判斷dict中key是否存在的3種方法實例

    Python判斷dict中key是否存在的3種方法實例

    大家在學(xué)會python中的字典,會發(fā)現(xiàn),字典中是沒有特殊順序的,但是都存儲在一個特定的key下面,下面這篇文章主要給大家介紹了關(guān)于Python判斷dict中key是否存在的3種方法,需要的朋友可以參考下
    2022-04-04
  • 基于Tensorflow批量數(shù)據(jù)的輸入實現(xiàn)方式

    基于Tensorflow批量數(shù)據(jù)的輸入實現(xiàn)方式

    今天小編就為大家分享一篇基于Tensorflow批量數(shù)據(jù)的輸入實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python全棧之正則表達(dá)式

    Python全棧之正則表達(dá)式

    這篇文章主要為大家介紹了Python正則表達(dá)式,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11

最新評論