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

基于Python編寫一個(gè)點(diǎn)名器的示例代碼

 更新時(shí)間:2022年07月01日 16:35:52   作者:晉升閣  
想起小學(xué)的時(shí)候老師想點(diǎn)名找小伙伴回答問(wèn)題的時(shí)候,老師竟斥巨資買了個(gè)點(diǎn)名器。今日無(wú)聊便敲了敲小時(shí)候老師斥巨資買的點(diǎn)名器,希望對(duì)大家有幫助

前言

想起小學(xué)的時(shí)候老師想點(diǎn)名找小伙伴回答問(wèn)題的時(shí)候,老師竟斥巨資買了個(gè)點(diǎn)名器。今日無(wú)聊便敲了敲小時(shí)候老師斥巨資買的點(diǎn)名器。

本人姓白,就取名小白點(diǎn)名器啦,嘿嘿

代碼包含:添加姓名、查看花名冊(cè)、使用指南、隨機(jī)抽取名字的功能(完整源碼在最后)

主界面

定義主界面。使用“w+”模式創(chuàng)建test.txt文件(我添加了個(gè)背景圖片,若不需要可省略)

#打開(kāi)時(shí)預(yù)加載儲(chǔ)存在test.txt文件中的花名冊(cè)
namelist = []
with open("test.txt", "r") as f:
    for line in f.readlines():
        line = line.strip('\n')
        namelist.append(line)
win = Tk()
win.title('小白點(diǎn)名器')
win.geometry('500x300')
#定義畫布,添加背景圖片
canvas = Canvas(win,width=500,height=300)
img_obj = PhotoImage(file=r"C:\Users\ge\Downloads\IMG_202206307919_png.png") #需輸入照片路徑
image = canvas.create_image(250,0,anchor = "n" , image = img_obj)
canvas.pack()
a = StringVar()
b = StringVar()
b.set('開(kāi)始')
#定義可變文本信息
Label1 = Label(win, textvariable=a, font=('黑體', 100)).place(y= 60 , x=65)
#定義四個(gè)按鈕
Button1 = Button(win, textvariable=b, font=('等線', 30), command = zhuanzhuan).place(y=210,x = 190)
Button2 = Button(win, text = '添加姓名', font=('等線', 20), command = addname).place(x= 50,y =0)
Button3 = Button(win, text = '查看', font=('等線', 20), command = chakan).place(x= 230,y =0)
Button4 = Button(win, text = '指南', font=('等線', 20), command = zhinan).place(x= 360,y =0)
win.mainloop()

添加姓名

定義添加姓名界面,每添加一次姓名就保存到test.txt文件中,判斷輸入是否為空(添加提示框)、判斷花名冊(cè)是否為空。

#定義添加姓名界面
def addname():
    global Entry1
    window = Tk()
    window.title('姓名添加器')
    window.geometry('400x200+500+200')
    Label11 = Label(window, text = '請(qǐng)?jiān)谙路捷斎肽阋砑拥男彰?, font=('黑體', 18), anchor='center').place(y=30, x=25)
    Entry1 = Entry(window, font=('等線', 30), width=70)
    Entry1.place(y=80, x=70, width=200, height=80)
    Button3 = Button(window, text = '確認(rèn)', font=('等線', 18), command = addname1).place(x= 300,y =80, height=80)
#每添加一次姓名就保存到test.txt文件中
def addname1():
    global namelist #聲明為全局變量實(shí)時(shí)更新
    if len(Entry1.get()) == 0:
        tkinter.messagebox.showinfo('提示', '姓名輸入不能為空哦')
    else:
        if len(Entry1.get()) == 2:
            zhongjian = list(Entry1.get())[::1]
            zhongjian1 = zhongjian[0] + '  ' +zhongjian[1]
            if len(namelist) == 0:
                nam = zhongjian1
            else:
                nam = '\n' + zhongjian1
        else:
            if len(namelist) == 0:
                nam = str(Entry1.get())
            else:
                nam = '\n' + str(Entry1.get())
        with open("test.txt", "a") as f:
            f.write(nam)
        tip = '姓名:' + Entry1.get() + '   添加成功'
        tkinter.messagebox.showinfo('提示', tip)
        print(nam)
        namelist = []
        with open("test.txt", "r") as f:
            for line in f.readlines():
                line = line.strip('\n')
                namelist.append(line)

查看花名冊(cè)

這個(gè)比較簡(jiǎn)單,使用Text來(lái)顯示字典內(nèi)的信息即可

def chakan():
    window = Tk()
    window.title('花名冊(cè)查看')
    window.geometry('350x200+500+200')
    console = Text(window, font=('等線', 11))
    console.place(y=20, x=35, width=280, height=170)
    console.insert(1.0,namelist)

使用指南 

同上,使用Text顯示 

def zhinan():
 
    window = Tk()
    window.title('小白點(diǎn)名器使用指南')
    window.geometry('350x230+500+200')
    console = Text(window, font=('等線', 11))
    console.place(y=20, x=35, width=280, height=190)
    console.insert(1.0, '                歡迎使用小白點(diǎn)名器1.0\n你可以在”添加姓名按鈕上輸入你要添加的名字\n你可以在”查看“按鈕中查看花名冊(cè)中所有的名字'
                        '\n你可以在此程序同級(jí)的名為”花名冊(cè).txt“的文件夾中直接批量添加、刪減姓名(使用回車做分隔)\n--------------------------------\n'
                        '(指南之外)此程序在CSDN中已開(kāi)源,歡迎訪問(wèn)我的博客:晉升閣\n需要合作的可加我微信:baijinge1137')

名字轉(zhuǎn)動(dòng)功能

判斷“開(kāi)始”、“停止”狀態(tài)。定義線程。啟用一個(gè)線程

#判斷狀態(tài)
def zhuanzhuan():
    if b.get() == '開(kāi)始':
        b.set('停止')
    elif b.get() =="停止":
        b.set('開(kāi)始')
    _thread.start_new_thread(xiancheng,()) #啟用一個(gè)線程來(lái)轉(zhuǎn)動(dòng)姓名
#定義一個(gè)線程
def xiancheng():
    global xuanzhong
    while b.get()=='停止':
        try:
            xuanzhong = random.choice(namelist)
            a.set(xuanzhong)
            Label1.updata()#刷新數(shù)據(jù)
            time.sleep(0.3)#0.3秒刷新一次
        except:
            continue
            time.sleep(0.3)
    a.set(xuanzhong)

完整代碼

提示:我的項(xiàng)目是在主界面添加了背景圖片的,若是不需要添加背景圖片可刪掉90-94行代碼。若是需要添加背景圖片的需注意路徑地址是否正確

import random
import time
from tkinter import *
import _thread
import tkinter.messagebox
def zhuanzhuan():
    if b.get() == '開(kāi)始':
        b.set('停止')
    elif b.get() =="停止":
        b.set('開(kāi)始')
    _thread.start_new_thread(xiancheng,()) #啟用一個(gè)線程來(lái)轉(zhuǎn)動(dòng)姓名
 
def xiancheng():
    global xuanzhong
    while b.get()=='停止':
        try:
            xuanzhong = random.choice(namelist)
            a.set(xuanzhong)
            Label1.updata()
            time.sleep(0.3)
        except:
            continue
            time.sleep(0.3)
    a.set(xuanzhong)
 
def addname1():
    global namelist #聲明為全局變量實(shí)時(shí)更新
    if len(Entry1.get()) == 0:
        tkinter.messagebox.showinfo('提示', '姓名輸入不能為空哦')
    else:
        if len(Entry1.get()) == 2:
            zhongjian = list(Entry1.get())[::1]
            zhongjian1 = zhongjian[0] + '  ' +zhongjian[1]
            if len(namelist) == 0:
                nam = zhongjian1
            else:
                nam = '\n' + zhongjian1
        else:
            if len(namelist) == 0:
                nam = str(Entry1.get())
            else:
                nam = '\n' + str(Entry1.get())
        with open("test.txt", "a") as f:
            f.write(nam)
        tip = '姓名:' + Entry1.get() + '   添加成功'
        tkinter.messagebox.showinfo('提示', tip)
        print(nam)
        namelist = []
        with open("test.txt", "r") as f:
            for line in f.readlines():
                line = line.strip('\n')
                namelist.append(line)
 
def chakan():
    window = Tk()
    window.title('花名冊(cè)查看')
    window.geometry('350x200+500+200')
    console = Text(window, font=('等線', 11))
    console.place(y=20, x=35, width=280, height=170)
    console.insert(1.0,namelist)
 
def zhinan():
 
    window = Tk()
    window.title('小白點(diǎn)名器使用指南')
    window.geometry('350x230+500+200')
    console = Text(window, font=('等線', 11))
    console.place(y=20, x=35, width=280, height=190)
    console.insert(1.0, '                歡迎使用小白點(diǎn)名器1.0\n你可以在”添加姓名按鈕上輸入你要添加的名字\n你可以在”查看“按鈕中查看花名冊(cè)中所有的名字'
                        '\n你可以在此程序同級(jí)的名為”花名冊(cè).txt“的文件夾中直接批量添加、刪減姓名(使用回車做分隔)\n--------------------------------\n'
                        '(指南之外)此程序在CSDN中已開(kāi)源,歡迎訪問(wèn)我的博客:晉升閣\n需要合作的可加我微信:baijinge1137')
 
def addname():
    global Entry1
    window = Tk()
    window.title('姓名添加器')
    window.geometry('400x200+500+200')
    Label11 = Label(window, text = '請(qǐng)?jiān)谙路捷斎肽阋砑拥男彰?, font=('黑體', 18), anchor='center').place(y=30, x=25)
    Entry1 = Entry(window, font=('等線', 30), width=70)
    Entry1.place(y=80, x=70, width=200, height=80)
    Button3 = Button(window, text = '確認(rèn)', font=('等線', 18), command = addname1).place(x= 300,y =80, height=80)
 
namelist = []
with open("test.txt", "r") as f:
    for line in f.readlines():
        line = line.strip('\n')
        namelist.append(line)
win = Tk()
win.title('小白點(diǎn)名器')
win.geometry('500x300')
canvas = Canvas(win,width=500,height=300)
img_obj = PhotoImage(file=r"C:\Users\ge\Downloads\IMG_202206307919_png.png") #背景圖片路徑,若不需要添加將85—88行刪掉即可
image = canvas.create_image(250,0,anchor = "n" , image = img_obj)
canvas.pack()
a = StringVar()
b = StringVar()
b.set('開(kāi)始')
Label1 = Label(win, textvariable=a, font=('黑體', 100)).place(y= 60 , x=65)
Button1 = Button(win, textvariable=b, font=('等線', 30), command = zhuanzhuan).place(y=210,x = 190)
Button2 = Button(win, text = '添加姓名', font=('等線', 20), command = addname).place(x= 50,y =0)
Button3 = Button(win, text = '查看', font=('等線', 20), command = chakan).place(x= 230,y =0)
Button4 = Button(win, text = '指南', font=('等線', 20), command = zhinan).place(x= 360,y =0)
win.mainloop()

以上就是基于Python編寫一個(gè)點(diǎn)名器的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Python點(diǎn)名器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實(shí)戰(zhàn)項(xiàng)目之MySQL tkinter pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    Python實(shí)戰(zhàn)項(xiàng)目之MySQL tkinter pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用MySQL、tkinter、 pyinstaller實(shí)現(xiàn)一個(gè)學(xué)生管理系統(tǒng),大家可以通過(guò)案例查缺補(bǔ)漏,提升水平
    2021-10-10
  • Python實(shí)現(xiàn)簡(jiǎn)易版的Web服務(wù)器(推薦)

    Python實(shí)現(xiàn)簡(jiǎn)易版的Web服務(wù)器(推薦)

    這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)易Web服務(wù)器的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python使用unicodedata實(shí)現(xiàn)字符串標(biāo)準(zhǔn)化

    Python使用unicodedata實(shí)現(xiàn)字符串標(biāo)準(zhǔn)化

    這篇文章主要來(lái)和大家聊一聊 Python 的一個(gè)內(nèi)置模塊:unicodedata,它是專門用來(lái)處理 unicode 字符串的,下面就一起來(lái)看看它的用法吧
    2023-06-06
  • Django修改端口號(hào)與地址的三種方式

    Django修改端口號(hào)與地址的三種方式

    Django是一個(gè)開(kāi)放源代碼的Web應(yīng)用框架,由Python寫成,下面這篇文章主要給大家介紹了關(guān)于Django修改端口號(hào)與地址的三種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 自動(dòng)轉(zhuǎn)換Python代碼為HTML界面的GUI庫(kù)remi使用探究

    自動(dòng)轉(zhuǎn)換Python代碼為HTML界面的GUI庫(kù)remi使用探究

    這篇文章主要為大家介紹了自動(dòng)轉(zhuǎn)換Python代碼為HTML界面的GUI庫(kù)remi使用探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python獲取當(dāng)前頁(yè)面內(nèi)所有鏈接的四種方法對(duì)比分析

    Python獲取當(dāng)前頁(yè)面內(nèi)所有鏈接的四種方法對(duì)比分析

    這篇文章主要介紹了Python獲取當(dāng)前頁(yè)面內(nèi)所有鏈接的方法,結(jié)合實(shí)例形式對(duì)比分析了Python常用的四種獲取頁(yè)面鏈接的方法,并附帶了iframe框架內(nèi)鏈接的獲取方法,需要的朋友可以參考下
    2017-08-08
  • Python 記錄日志的靈活性和可配置性介紹

    Python 記錄日志的靈活性和可配置性介紹

    這篇文章給大家介紹了關(guān)于日志記錄庫(kù)的靈活性和可配置性,目的在于證明它如何設(shè)計(jì)的,對(duì)python 日志記錄相關(guān)知識(shí)感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-02-02
  • python抓取網(wǎng)頁(yè)中圖片并保存到本地

    python抓取網(wǎng)頁(yè)中圖片并保存到本地

    本篇文章給大家介紹python抓取網(wǎng)頁(yè)中圖片并保存到本地,對(duì)python抓取網(wǎng)頁(yè)圖片相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • Flask深入了解Jinja2引擎的用法

    Flask深入了解Jinja2引擎的用法

    Jinja2是基于python的模板引擎,功能比較類似于于PHP的smarty,J2ee的Freemarker和velocity。 它能完全支持unicode,并具有集成的沙箱執(zhí)行環(huán)境,應(yīng)用廣泛。jinja2使用BSD授權(quán)
    2022-07-07
  • Python tornado上傳文件的功能

    Python tornado上傳文件的功能

    這篇文章主要介紹了Python tornado上傳文件的功能,代碼分為普通上傳和ajax上傳,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論

和顺县| 元氏县| 社旗县| 樟树市| 清河县| 平度市| 镇雄县| 大城县| 济阳县| 乐业县| 昆明市| 定襄县| 漯河市| 台山市| 汕尾市| 镶黄旗| 曲阳县| 敦化市| 牡丹江市| 柞水县| 北票市| 霍邱县| 金湖县| 诏安县| 蒙城县| 金塔县| 安西县| 台山市| 历史| 庆安县| 阳曲县| 石楼县| 竹北市| 镇巴县| 随州市| 闵行区| 米林县| 屏山县| 咸宁市| 友谊县| 棋牌|