编写一个随机点名程序python,随机点名代码Python

  编写一个随机点名程序python,随机点名代码Python

  想起上小学的时候,老师要叫朋友回答问题的时候,老师居然花了巨资买了一个骂人器。今天无聊,敲了敲小时候老师花巨资买的点名器。希望对大家有帮助。

  00-1010前言主界面添加姓名查看花名册用户指南姓名轮换功能完整代码

  

目录

  想起上小学的时候,老师要叫朋友回答问题的时候,老师居然花了巨资买了一个骂人器。今天无聊的时候敲了一下小时候老师花了很多钱买的点名器。

  我姓白,所以取名卷名,呵呵。

  代码包括:添加名字,检查花名册,用户指南,和随机选择名字的功能(完整的源代码在最后)

  

前言

  定义主界面。在“W”模式下创建test.txt文件(我加了背景图,不需要可以省略)

  #打开test.txt文件时预加载存储在该文件中的花名册

  名称列表=[]

  用open(test.txt , r )作为f:

  对于f.readlines():中的行

  line=line.strip(\n )

  namelist.append(行)

  win=Tk()

  Win.title(小白卷命名者)

  win.geometry(500x300 )

  #定义画布并添加背景图片

  canvas=Canvas(win,宽度=500,高度=300)

  img _ obj=photo image(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(“开始”)

  #定义可变文本信息

  1=标签(win,文本变量=a,font=(bold ,100))。地点(y=60,x=65)

  #定义四个按钮

  1=按钮(win,textvariable=b,font=(isobar ,30),command=zhuanzhuan)。地点(y=210,x=190)

  Button2=Button(win,text= add name ,font=(isobar ,20),command=add name)。地点(x=50,y=0)

  Button3=Button(win,text= view ,font=(isobar ,20),command=chakan)。地点(x=230,y=0)

  Button4=按钮(win,text= guide ,font=(isobar ,20),command=zhinan)。位置(x=360,y=0)

  win.mainloop()

  

主界面

  定义名称添加接口。每次添加名称时,都会保存在test.txt文件中。确定输入是否为空(添加提示框)以及花名册是否为空。

  #定义添加名称的接口

  def addname():

  全局条目1

  window=Tk()

  Window.title(名称加法器)

  window.geometry(400x200 500 200 )

  Label11=Label(window,text=请在下面输入您的姓名,font=(bold ,18),anchor= center )。地点(y=30,x=25)

  Entry1=Entry(window,font==(isobar ,30),width=70)

  Entry1.place(y=80,x=70,宽度=200,高度=80)

  Button3=按钮(window,text= confirm ,font=(isobar ,18),command=addname1)。地点(x=300,y=80,高度=80)

  #每次添加时将名称保存在test.txt文件中。

  def addname1():

  全局名称列表#被声明为全局变量的实时更新。

  if len(Entry1.get())==0:

  特金特

  r.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)

  

  

  

查看花名册

  这个比较简单,使用Text来显示字典内的信息即可

  

def chakan():

   window = Tk()

   window.title(花名册查看)

   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(小白点名器使用指南)

   window.geometry(350x230+500+200)

   console = Text(window, font=(等线, 11))

   console.place(y=20, x=35, width=280, height=190)

   console.insert(1.0, 欢迎使用小白点名器1.0\n你可以在”添加姓名按钮上输入你要添加的名字\n你可以在”查看“按钮中查看花名册中所有的名字

   \n你可以在此程序同级的名为”花名册.txt“的文件夹中直接批量添加、删减姓名(使用回车做分隔)\n--------------------------------\n

   (指南之外)此程序在CSDN中已开源,欢迎访问我的博客:晋升阁\n需要合作的可加我微信:baijinge1137)

  

  

  

名字转动功能

  判断开始、停止状态。定义线程。启用一个线程

  

#判断状态

  def zhuanzhuan():

   if b.get() == 开始:

   b.set(停止)

   elif b.get() =="停止":

   b.set(开始)

   _thread.start_new_thread(xiancheng,()) #启用一个线程来转动姓名

  #定义一个线程

  def xiancheng():

   global xuanzhong

   while b.get()==停止:

   try:

   xuanzhong = random.choice(namelist)

   a.set(xuanzhong)

   Label1.updata()#刷新数据

   time.sleep(0.3)#0.3秒刷新一次

   except:

   continue

   time.sleep(0.3)

   a.set(xuanzhong)

  

  

  

完整代码

  提示:我的项目是在主界面添加了背景图片的,若是不需要添加背景图片可删掉90-94行代码。若是需要添加背景图片的需注意路径地址是否正确

  

import random

  import time

  from tkinter import *

  import _thread

  import tkinter.messagebox

  def zhuanzhuan():

   if b.get() == 开始:

   b.set(停止)

   elif b.get() =="停止":

   b.set(开始)

   _thread.start_new_thread(xiancheng,()) #启用一个线程来转动姓名

  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 #声明为全局变量实时更新

   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(花名册查看)

   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(小白点名器使用指南)

   window.geometry(350x230+500+200)

   console = Text(window, font=(等线, 11))

   console.place(y=20, x=35, width=280, height=190)

   console.insert(1.0, 欢迎使用小白点名器1.0\n你可以在”添加姓名按钮上输入你要添加的名字\n你可以在”查看“按钮中查看花名册中所有的名字

   \n你可以在此程序同级的名为”花名册.txt“的文件夹中直接批量添加、删减姓名(使用回车做分隔)\n--------------------------------\n

   (指南之外)此程序在CSDN中已开源,欢迎访问我的博客:晋升阁\n需要合作的可加我微信:baijinge1137)

  def addname():

   global Entry1

   window = Tk()

   window.title(姓名添加器)

   window.geometry(400x200+500+200)

   Label11 = Label(window, text = 请在下方输入你要添加的姓名, 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 = 确认, 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(小白点名器)

  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(开始)

  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编写一个点名器的示例代码的详细内容,更多关于Python点名器的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: