最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python實現(xiàn)隨機(jī)點名系統(tǒng)的示例代碼

 更新時間:2023年04月07日 10:22:20   作者:Python技術(shù)  
在某些難以抉擇得時候,我們經(jīng)常要用外力來幫助我們做出選擇,比如,梁山出征方臘前沙場點兵,挑選先鋒的場景。所以本文就來用Python做個隨機(jī)點名系統(tǒng)吧,需要的可以參考一下

 大家好,我是了不起!

在某些難以抉擇得時候,我們經(jīng)常要用外力來幫助我們做出選擇

比如,梁山出征方臘前沙場點兵,挑選先鋒的場景

這個時候,有一個隨機(jī)點名系統(tǒng)就非常好啦,畢竟我水泊梁山的名號~

效果展示

創(chuàng)建一個這樣的文件夾,然后把要隨機(jī)點名的名字寫在里面

導(dǎo)入后,這里就顯示你導(dǎo)入了多少人員信息

點擊開始點名后,會隨機(jī)從導(dǎo)入名字里挑選一位幸運兒~

效果大概就是這樣,下面我們來看看代碼吧

代碼展示

導(dǎo)入模塊

里面有第三方模塊,需要大家自己安裝一下

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
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(6,?10)
????????????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()

子線程調(diào)用

????def?init_ui(self):
????????self.thread_?=?WorkThread(self)
????????self.thread_.trigger.connect(self.set_name)
????????self.thread_.finished.connect(self.finished)

應(yīng)用初始化信息

????????self.setWindowTitle('課堂點名系統(tǒng)')
????????self.setWindowIcon(QIcon('課堂點名.ico'))
????????self.setFixedSize(500,?350)

姓名信息布局

????????vbox_name?=?QVBoxLayout()
????????self.current_name?=?QLabel()
????????self.current_name.setText('隨機(jī)點名啦')
????????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('開始點名')
????????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('信息提示')
????????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()?==?'開始點名':
????????????self.thread_.start()
????????else:
????????????self.start_btn.setText('開始點名')

????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))?+?']條人員信息')

運行

if?__name__?==?'__main__':
????app?=?QApplication(sys.argv)
????app.setStyleSheet(load_stylesheet_pyqt5())
????main?=?ClassCollSystem()
????main.show()
????sys.exit(app.exec_())

到此這篇關(guān)于基于Python實現(xiàn)隨機(jī)點名系統(tǒng)的示例代碼的文章就介紹到這了,更多相關(guān)Python隨機(jī)點名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?Matplotlib基本用法詳解

    Python?Matplotlib基本用法詳解

    Matplotlib?是Python中類似?MATLAB?的繪圖工具,熟悉?MATLAB?也可以很快的上手?Matplotlib,這篇文章主要介紹了Python?Matplotlib基本用法,需要的朋友可以參考下
    2023-03-03
  • 深入探討Python中的內(nèi)置類屬性`__repr__`

    深入探討Python中的內(nèi)置類屬性`__repr__`

    在Python中,__repr__是一個特殊的內(nèi)置類屬性,用于定義類的字符串表示形式,本文將深入探討__repr__的作用、用法以及一些實際應(yīng)用場景,希望對大家有所幫助
    2023-12-12
  • tensorflow中next_batch的具體使用

    tensorflow中next_batch的具體使用

    本篇文章主要介紹了tensorflow中next_batch的具體使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 講解如何利用 Python完成 Saga 分布式事務(wù)

    講解如何利用 Python完成 Saga 分布式事務(wù)

    這篇文章主要介紹了如何利用 Python 完成一個 Saga 的分布式事務(wù),需要的朋友可以參考下面文章具體的內(nèi)容
    2021-09-09
  • python實現(xiàn)添加圖片到word文檔中

    python實現(xiàn)添加圖片到word文檔中

    這篇文章主要介紹了python實現(xiàn)添加圖片到word文檔中方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 如何利用python web框架做文件流下載的實現(xiàn)示例

    如何利用python web框架做文件流下載的實現(xiàn)示例

    這篇文章主要介紹了如何利用python web框架做文件流下載的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python計算機(jī)視覺實現(xiàn)全景圖像拼接示例

    python計算機(jī)視覺實現(xiàn)全景圖像拼接示例

    這篇文章主要為大家介紹了python計算機(jī)視覺實現(xiàn)全景圖像拼接示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python裝飾器結(jié)合遞歸原理解析

    Python裝飾器結(jié)合遞歸原理解析

    這篇文章主要介紹了Python裝飾器結(jié)合遞歸原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • Flask實現(xiàn)跨域請求的處理方法

    Flask實現(xiàn)跨域請求的處理方法

    這篇文章主要介紹了Flask實現(xiàn)跨域請求的處理方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Python中三元運算符的簡潔性及多用途實例探究

    Python中三元運算符的簡潔性及多用途實例探究

    這篇文章主要為大家介紹了Python中三元運算符的簡潔性及多用途實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01

最新評論

白水县| 星座| 友谊县| 黑河市| 武强县| 凤城市| 株洲县| 剑阁县| 崇文区| 宝坻区| 苏尼特左旗| 郓城县| 景洪市| 察哈| 河津市| 卓资县| 武清区| 称多县| 山丹县| 商丘市| 瓦房店市| 库伦旗| 额敏县| 栾川县| 乌拉特前旗| 兴国县| 容城县| 宜宾市| 元氏县| 汶川县| 海伦市| 扶绥县| 太保市| 尤溪县| 松潘县| 兴城市| 连江县| 株洲县| 甘洛县| 华宁县| 通海县|