2022-4-1 20:40:04 [显示全部楼层]
10077浏览
查看: 10077|回复: 11

[项目分享] 用python制作抽学号抽奖程序

[复制链接]
本帖最后由 hnyzcj 于 2022-4-1 20:48 编辑

【创意起源】
    班级年级在一些节假日活动中存在一些抽奖、抽号的环节,为此我根据实际活动的需要将抽奖、抽号合并功能合并,用python制作了一个抽奖抽号的程序。
用python制作抽学号抽奖程序图3用python制作抽学号抽奖程序图1用python制作抽学号抽奖程序图2

【使用的库】
    本程序中使用了pygamerandomos time库,其中【Pygame】是被设计用来写游戏的python模块集合,使用python可以导入pygame来开发具有全部特性的游戏和多媒体软件,本程序中我们使用了Pygame图形化界面。【random】是用于产生并运用随机数的标准库。Python中的主要使用是让其掌握在程序中运用随机数的能力。本程序中生产抽奖抽号的随机数字序列。【os】是与操作系统相关的标准库。如:文件,目录,执行系统命令等。【time】运行访问多种类型的时钟,这些时钟用于不同的场景。

【编程思路】
    本程序主要由主界面、抽学号界面、抽奖界面构成,具体功能入下图4所示。
用python制作抽学号抽奖程序图4

【配置编程环境】
    打开Mind+软件,切换到Mind+软件的 Python 模式,Python 模式如下图5
用python制作抽学号抽奖程序图5
切换到 Python 模式后,我们点击右侧文件目录,在“电脑中的文件” 中添加文件。点击位置如下图6数字序列①“添加本地文件夹”,我们在自己设定的路径下新建“原代码”文件夹用来存放 Python 程序和编程所需的素材。选中该文件夹后点击确定,建立一个python程序的编程环境。
用python制作抽学号抽奖程序图6
之后,我们点击新建文件,即可在当前文件夹下创建 Python 程序 。我们这里创建了三个python程序,其名称为RunME_V1.1.py(主程序界面),choujiang_v20.1.py(抽奖程序界面),chouxuehao.py(抽学号程序界面)如图7所示
用python制作抽学号抽奖程序图7
抽学号抽奖程序需要用的第三方库分别是【pygame】,安装方法如下:  Mind+软件的右上角点击库管理按钮,之后会看到的界面,在推荐库一栏提供了大部分常用第三方库,可以一键安装,我们点击“游戏”分类库下面的 【pygame】库进行安装,安装完毕会看到“已安装” 的提示字样,表明安装完成,如下图 8
用python制作抽学号抽奖程序图8

【添加素材】
    本程序中使用到了图片、声音等素材文件,要将其拷贝到“原文件”文件夹下。如下图9所示。其中FZYTK.TTF为字库文件,TT.wav为程序中音频文件,其余图片为背景图片及抽奖等级图片,name.txt为存储学生姓名的文档。
用python制作抽学号抽奖程序图9

【制作主界面】
    打开RunME_V1.1.py输入下列程序,注意chouxuehao():和choujiang():函数中我们写的是调用EXE文件,后续需要将相关文件由py格式打包成exe格式。
  1. <font size="4"><font size="4">import pygame
  2. import random
  3. import time
  4. import os
  5. pygame.init()
  6. from pygame.locals import *
  7. sc = pygame.display.set_mode((400,600))
  8. bg = pygame.image.load("bg.png")
  9. font = pygame.font.Font("FZYTK.ttf",40)
  10. font1 = pygame.font.Font("FZYTK.ttf",30)
  11. font_color=(0,0,0)
  12. sc.blit(bg,(0,0))
  13. pygame.display.update()
  14. text_1 = font1.render("选择您需要的功能:",True,font_color)
  15. sc.blit(text_1,(65,20))
  16. text_xuehao = font.render("抽序号",True,font_color)
  17. sc.blit(text_xuehao,(140,160))
  18. text_xuehao = font.render("抽奖",True,font_color)
  19. sc.blit(text_xuehao,(140,400))
  20. pygame.display.update()
  21. def chouxuehao():
  22.     os.startfile("chouxuehao.exe")
  23. def choujiang():
  24.     os.startfile("choujiang_v20.1.exe")
  25. while True:
  26.     #sc.blit(num,(100,20))
  27.     x,y = pygame.mouse.get_pos()
  28.     for event in pygame.event.get():
  29.         if event.type == QUIT:
  30.             pygame.display.quit()
  31.             exit()
  32.         if event.type == MOUSEBUTTONDOWN:
  33.             if 130 < x < 270 and 150 < y <210:
  34.                 chouxuehao()
  35.             if 130 < x < 230 and 390 < y <450:
  36.                 choujiang()</font></font>
复制代码


【制作抽学号界面】
       打开chouxuehao.py输入下列程序,该部分程序运行顺序为:打开待抽学号学生信息文件,输入学生姓名,(如果不需要学生姓名信息忽略此步)如图10所示,进入设置抽取人数界面如图12所示,输入将要抽取的学生人数后点击界面进入抽学号界面,单击任意位置进行学号抽取如图13所示,若要对背景进行更换可在输入抽取人数位置,点击“换装”进行背景更换。
用python制作抽学号抽奖程序图10
用python制作抽学号抽奖程序图11用python制作抽学号抽奖程序图12用python制作抽学号抽奖程序图13
  1. <font size="4">import pygame
  2. import random
  3. import time
  4. import os
  5. pygame.init()
  6. from pygame.locals import *
  7. la = []
  8. sc = pygame.display.set_mode((400,600))
  9. bg = pygame.image.load("bg.png")
  10. pygame.display.set_caption("抽学号")
  11. font = pygame.font.Font("FZYTK.ttf",60)
  12. font1 = pygame.font.Font("FZYTK.ttf",30)
  13. font2 = pygame.font.Font("FZYTK.ttf",20)
  14. ifend = False
  15. ifnamed = False
  16. font_color = (0,0,0)
  17. sc.blit(bg,(0,0))
  18. pygame.display.update()
  19. iss = True
  20. a2 = ""
  21. n_num = 0
  22. name = font2.render("单击此处将打开记事本", True, font_color)
  23. name1 = font2.render("编辑序号对应的姓名", True, font_color)
  24. name2 = font2.render("每个姓名占一行", True, font_color)
  25. ifnonext =  font2.render("如果无需姓名则立即下一步", True, font_color)
  26. ne_st = font2.render("单击回车下一步", True, font_color)
  27. clickto = font2.render("单击任意位置抽序号", True, font_color)
  28. namelist = []
  29. ifendname = False
  30. #encoding = "utf-8"
  31. while True:  #读txt
  32.     sc.blit(bg,(0,0))
  33.     sc.blit(name,(120,100))
  34.     sc.blit(name1,(120,130))
  35.     sc.blit(name2,(120,160))
  36.     sc.blit(ifnonext,(120,185))
  37.     sc.blit(ne_st,(120,300))
  38.     for event in pygame.event.get():
  39.         x,y = pygame.mouse.get_pos()
  40.         if event.type == QUIT:
  41.             pygame.display.quit()
  42.             exit()
  43.         if event.type == MOUSEBUTTONDOWN:            
  44.             if 120<x<320 and 100<y<120:
  45.                 os.system("name.txt")
  46.                 ifnamed = True
  47.         if event.type == KEYDOWN:
  48.             if event.key == K_RETURN:
  49.                 if ifnamed == True:
  50.                     f = open("name.txt","r",encoding = "utf-8")
  51.                     for line in f:
  52.                         namelist.append(line)
  53.                     ifendname = True   
  54.                 if ifnamed == False:
  55.                     ifendname = True      
  56.     pygame.display.update()
  57.     if ifendname == True:
  58.         #print(1)
  59.         break
  60. sc.blit(bg,(0,0))
  61. while True:
  62.     num = font1.render("请输入抽取人数:", True, font_color)
  63.     text_changing = font1.render("换装",True,font_color)
  64.     sc.blit(num,(100,20))
  65.     sc.blit(text_changing,(0,0))
  66.     x,y = pygame.mouse.get_pos()
  67.     for event in pygame.event.get():
  68.         if event.type == QUIT:
  69.             pygame.display.quit()
  70.             exit()
  71.         if event.type == MOUSEBUTTONDOWN:
  72.             if 0<x<65 and 0<y<30:
  73.                 #sc1 = pygame.display.set_mode((400,600))
  74.                 text_1 = font1.render("选择您想使用的背景",True,font_color)
  75.                 text_nd = font1.render("红色",True,font_color)
  76.                 text_mid_a = font1.render("绿色",True,font_color)
  77.                 text_chny = font1.render("蓝色",True,font_color)
  78.                 text_child = font1.render("黄色",True,font_color)
  79.                 text_white = font1.render("无",True,font_color)
  80.                 text_few = font1.render("""敬请期待,单击此处返回""",True,font_color)
  81.                 while True:
  82.                     sc.blit(bg,(0,0))
  83.                     sc.blit(text_1,(65,5))
  84.                     sc.blit(text_nd,(65,40))
  85.                     sc.blit(text_mid_a,(65,75))
  86.                     sc.blit(text_chny,(65,110))
  87.                     sc.blit(text_child,(65,145))
  88.                     sc.blit(text_white,(65,180))
  89.                     sc.blit(text_few,(65,350))
  90.                     if ifend == True:
  91.                         sc.blit(bg,(0,0))
  92.                         pygame.display.update()
  93.                         break
  94.                     for event in pygame.event.get():
  95.                         x,y = pygame.mouse.get_pos()
  96.                         if event.type == QUIT:
  97.                             pygame.display.quit()
  98.                             exit()
  99.                         if event.type == MOUSEBUTTONDOWN:
  100.                           if ifend == False:               
  101.                             if 65<x<395 and 350<y<380:
  102.                                 ifend = True
  103.                             elif 65<x<155 and 40<y<70:
  104.                                 bg = pygame.image.load("r.png")
  105.                                 font_color = (0,0,0)
  106.                             elif 65<x<155 and 75<y<105:
  107.                                 bg = pygame.image.load("g.png")
  108.                                 font_color = (255,255,255)
  109.                             elif 65<x<125 and 110<y<140:
  110.                                 bg = pygame.image.load("b.png")
  111.                                 font_color = (255,0,0)
  112.                             elif 65<x<155 and 145<y<175:
  113.                                 bg = pygame.image.load("y.png")
  114.                                 font_color = (0,0,0)
  115.                             elif 65<x<100 and 180<y<210:
  116.                                 bg = pygame.image.load("bg.png")
  117.                                 font_color = (0,0,0)
  118.                     pygame.display.update()
  119.         if event.type == KEYDOWN:
  120.             if event.key == K_RETURN:
  121.                 a2 = a2
  122.                 sc.blit(bg,(0,0))
  123.                 pygame.display.update()
  124.                 #n_num = str(n_num) + a2
  125.                 n_num = 1
  126.             else:
  127.                 a2 = a2+chr(event.key)
  128.                 text_1 = font.render(a2, True, font_color)
  129.                 sc.blit(text_1, (100, 80))
  130.     if n_num == 1:
  131.         break
  132.     pygame.display.update()
  133. #start()
  134. sc.blit(bg,(0,0))
  135. pygame.display.update()
  136. for i in range(int(a2)+1):
  137.     la.append(i)
  138.     if ifendname == True and namelist == []:
  139.         for i in range(int(a2)+1):
  140.             namelist.append("")
  141. del la[0]
  142. num = font1.render("请输入序号数:", True, font_color)
  143. text_changing = font1.render("换装",True,font_color)
  144. while True:
  145.     sc.blit(bg,(0,0))
  146.     sc.blit(clickto,(110,200))
  147.     for event in pygame.event.get():
  148.         if event.type == QUIT:
  149.             pygame.display.quit()
  150.             exit()
  151.         if len(la) == 0:
  152.             end = font.render("抽完了", False, font_color)
  153.             sc.blit(end,(120,285))
  154.             pygame.display.update()
  155.             time.sleep(2)
  156.             pygame.display.quit()
  157.             exit()
  158.         if event.type == MOUSEBUTTONDOWN:
  159.             xuehaoindex = random.randint(0,len(la)-1)
  160.             xuehao = la[xuehaoindex]
  161.             chosename = namelist[xuehaoindex]
  162.             text_1 = font.render(str(xuehao)+"号", False, font_color)
  163.             nameprinted = font.render(chosename, False, font_color)
  164.             sc.blit(text_1, (140, 280))
  165.             sc.blit(nameprinted,(120,345))
  166.             pygame.display.update()
  167.             time.sleep(1.5)
  168.             sc.blit(bg,(0,0))
  169.             pygame.display.update()
  170.             del la[xuehaoindex]
  171.             del namelist[xuehaoindex]           
  172.     pygame.display.update()</font>
复制代码
【制作抽奖界面】
    打开choujiang_v20.1.py输入下列程序,该部分程序运行顺序为:输入各等级学生数量,(我们这里初始设置三个等级数量为5,输入值不应该超过5)如图14所示,进入抽奖界面,单击任意位置进行抽奖如图15所示,若要对背景进行更换可在输入等级人数位置,点击“换装”进行背景更换
用python制作抽学号抽奖程序图15用python制作抽学号抽奖程序图14
  1. <font size="4">import pygame
  2. import random
  3. import time
  4. pygame.init()
  5. from pygame.locals import *
  6. a1 = ""
  7. a2 = ""
  8. a3 = ""
  9. t1 = 0
  10. t2 = 0
  11. t3 = 0
  12. e1 = 0
  13. e2 = 0
  14. e3 = 0
  15. l1 = 0
  16. l2 = 0
  17. l3 = 0
  18. la = []
  19. n_num = 0
  20. iffirst3 = True
  21. iffirst2 = True
  22. iffirst1 = True
  23. sc = pygame.display.set_mode((400,600))
  24. #bg = pygame.image.load("Untitled.png")
  25. bg = pygame.image.load("bg.png")
  26. pygame.display.set_caption("抽奖")
  27. font = pygame.font.Font("FZYTK.ttf",30)
  28. font1 = pygame.font.Font("FZYTK.ttf",15)
  29. font_color=(50,155,20)
  30. #sc.blit(bg,(0,0))
  31. sc.fill((255,255,255))
  32. pygame.display.update()
  33. iss = True
  34. ifend = False
  35. text_changing = font1.render("换装",True,font_color)
  36. def sound():
  37.     pygame.mixer.music.load("TT.wav")  
  38.     pygame.mixer.music.play(-1,0.0)
  39. sound()        
  40. """================================num input================================"""
  41. while True:
  42.     sc.blit(text_changing,(0,0))
  43.     x,y = pygame.mouse.get_pos()
  44.     if iss == False:
  45.         break
  46.     else:
  47.    
  48.       for event in pygame.event.get():
  49.         if event.type == QUIT:
  50.             pygame.display.quit()
  51.             exit()
  52.         if event.type == MOUSEBUTTONDOWN:
  53.             if 0<x<35 and 0<y<20:
  54.                 #sc1 = pygame.display.set_mode((400,600))
  55.                 text_1 = font.render("选择您想使用的背景",True,font_color)
  56.                 text_nd = font.render("红色",True,font_color)
  57.                 text_mid_a = font.render("绿色",True,font_color)
  58.                 text_chny = font.render("蓝色",True,font_color)
  59.                 text_child = font.render("黄色",True,font_color)
  60.                 text_white = font.render("无",True,font_color)
  61.                 text_few = font.render("""敬请期待,单击此处返回""",True,font_color)
  62.                 while True:
  63.                     sc.blit(bg,(0,0))
  64.                     sc.blit(text_1,(65,5))
  65.                     sc.blit(text_nd,(65,40))
  66.                     sc.blit(text_mid_a,(65,75))
  67.                     sc.blit(text_chny,(65,110))
  68.                     sc.blit(text_child,(65,145))
  69.                     sc.blit(text_white,(65,180))
  70.                     sc.blit(text_few,(65,350))
  71.                     if ifend == True:
  72.                         sc.blit(bg,(0,0))
  73.                         pygame.display.update()
  74.                         break
  75.                     for event in pygame.event.get():
  76.                         x,y = pygame.mouse.get_pos()
  77.                         if event.type == QUIT:
  78.                             pygame.display.quit()
  79.                             exit()
  80.                         if event.type == MOUSEBUTTONDOWN:
  81.                           if ifend == False:               
  82.                             if 65<x<395 and 350<y<380:
  83.                                 ifend = True
  84.                             elif 65<x<155 and 40<y<70:
  85.                                 bg = pygame.image.load("r.png")
  86.                                 font_color = (0,0,0)
  87.                             elif 65<x<155 and 75<y<105:
  88.                                 bg = pygame.image.load("g.png")
  89.                                 font_color = (255,255,255)
  90.                             elif 65<x<125 and 110<y<140:
  91.                                 bg = pygame.image.load("b.png")
  92.                                 font_color = (255,0,0)
  93.                             elif 65<x<155 and 145<y<175:
  94.                                 bg = pygame.image.load("y.png")
  95.                                 font_color = (0,0,0)
  96.                             elif 65<x<100 and 180<y<210:
  97.                                 bg = pygame.image.load("bg.png")
  98.                                 font_color = (0,0,0)
  99.                     pygame.display.update()#changing(bg,False)
  100.             
  101.         if n_num == 0:
  102.             start = font.render("请输入各奖项人数", True, font_color)
  103.             text = font.render("三等奖:", True, font_color)
  104.             sc.blit(start,(100,10))
  105.             sc.blit(text,(100,50))
  106.             if event.type == KEYDOWN:
  107.                 if event.key == K_RETURN:
  108.                     a3 = int(a3)
  109.                     n_num = n_num + 1
  110.                 else:
  111.                     a3 = a3+chr(event.key)
  112.                     text_1 = font.render(a3, True, font_color)
  113.                     sc.blit(text_1, (100, 80))                    
  114.         elif n_num == 1:
  115.             text = font.render("二等奖:",True,font_color)
  116.             sc.blit(text,(100,155))
  117.             if event.type == KEYDOWN:
  118.                 if event.key == K_RETURN:
  119.                     n_num = n_num + 1
  120.                     a2 = int(a2)
  121.                 else:
  122.                     a2 = a2+chr(event.key)
  123.                     text_1 = font.render(a2, True, font_color)
  124.                     sc.blit(text_1, (100, 185))
  125.         elif n_num == 2:
  126.             text = font.render("一等奖:",True,font_color)
  127.             sc.blit(text,(100,255))
  128.             if event.type == KEYDOWN:
  129.                 if event.key == K_RETURN:
  130.                     a1 = int(a1)
  131.                     iss = False
  132.                     
  133.                 else:
  134.                     a1 = a1+chr(event.key)
  135.                     text_1 = font.render(a1, True, font_color)
  136.                     sc.blit(text_1, (100, 285))      
  137.     pygame.display.update()
  138. """==================================list add============================"""
  139. for i in range(5):
  140.     la.append("一等奖")
  141. for i in range(5):
  142.     la.append("二等奖")
  143. for i in range(5):
  144.     la.append("三等奖")
  145. #print(la)
  146. """=================================main start============================"""
  147. def end():
  148.     sc.blit(bg,(0,0))
  149.     text = font.render("结束",True,font_color)
  150.     sc.blit(text,(170,285))
  151.     pygame.display.update()
  152.     time.sleep(1)
  153.     pygame.display.quit()
  154.     exit()
  155. def award_1():
  156.     ta = "一等奖"
  157.     wow = pygame.image.load("wow.png")
  158.     award = font.render(ta,True,font_color)
  159.     sc.blit(award,(155,325))
  160.     sc.blit(wow,(130,10))
  161.     #t2 = t2+1
  162.     #l1 = l1+1
  163. def award_2():
  164.     ta = "二等奖"
  165.     cool = pygame.image.load("02.png")
  166.     award = font.render(ta,True,font_color)
  167.     sc.blit(award,(155,325))
  168.     sc.blit(cool,(130,40))
  169.     #t2 = t2+1
  170.     #l2 = l2+1
  171. def award_3():
  172.     ta = "三等奖"
  173.     cool = pygame.image.load("03.png")
  174.     award = font.render(ta,True,font_color)
  175.     sc.blit(award,(155,325))
  176.     sc.blit(cool,(130,40))
  177.     #t3 = t3+1
  178.     #l3 = l3+1
  179. while True:
  180.    
  181.     if la == []:
  182.         sc.blit(bg,(0,0))
  183.         text = font.render("结束",True,font_color)
  184.         sc.blit(text,(170,285))
  185.         pygame.display.update()
  186.         time.sleep(1)
  187.         pygame.display.quit()
  188.         exit()
  189.     if t1+t2+t3 == a1+a2+a3:
  190.         pygame.display.quit()
  191.         exit()
  192.     #aw = random.randint(0,len(la)-1)
  193.     #ta = la[aw]
  194.     #pygame.init()
  195.     #bg = pygame.image.load("Untitled.jpg")
  196.     sc.blit(bg,(0,0))
  197.     #pygame.display.update()
  198.     text = font.render("点击抽奖",True,font_color)
  199.     sc.blit(text,(140,285))
  200.    
  201.     #pygame.display.update()
  202.     pygame.display.update()
  203.     for event in pygame.event.get():        
  204.         x,y = pygame.mouse.get_pos()
  205.         if event.type == QUIT:
  206.             pygame.display.quit()
  207.             exit()
  208.         if event.type == MOUSEBUTTONDOWN:
  209.             aw = random.randint(0,len(la)-1)
  210.             ta = la[aw]
  211.             if ta == "三等奖":
  212.                 if e3 == 0:
  213.                     if l3 == 3:   #重复判断                        
  214.                         if e2 == 0:                           
  215.                             award_2()
  216.                             l2 = l2+1
  217.                         elif e1 == 0:                           
  218.                             award_1()
  219.                             l1 = l1+1
  220.                         elif e3 == 0:                           
  221.                             award_3()
  222.                             l3 = l3+1
  223.                     elif l3 == 0:
  224.                         if iffirst3 == True :                           
  225.                             award_3()
  226.                             l3 = l3+1
  227.                             iffirst3 = False
  228.                         elif iffirst3 == False:                           
  229.                             if e2 == 0:                                
  230.                                 award_2()
  231.                                 l2 = l2+1
  232.                             elif e1 == 0:                              
  233.                                 award_1()
  234.                                 l1 = l1+1
  235.                     else:                        
  236.                         award_3()
  237.                         l2 = l2+1
  238.                 if e3 != 0 :
  239.                     if e2 == 1 and e1 == 1:                        
  240.                         end()
  241.                     if e2 == 0:                        
  242.                         award_2()
  243.                         l2 = l2+1
  244.                     elif e1 == 0:                        
  245.                         award_1()
  246.                         l1 = l1+1
  247.             elif ta == "二等奖":
  248.                 if e2 == 0:                    
  249.                     if l2 ==2:  #重复2                        
  250.                         if e3 == 0:                           
  251.                             award_3()
  252.                             l3 = l3+1
  253.                         elif e1 == 0:                           
  254.                             award_1()
  255.                             l1 = l1+1
  256.                         elif e2 == 0:                           
  257.                             award_2()
  258.                             l2 = l2+1
  259.                     elif l2 == 0:
  260.                         if iffirst2 == True :                           
  261.                             award_2()
  262.                             l2 = l2+1
  263.                             iffirst2 = False
  264.                         elif iffirst2 == False:                           
  265.                             if e1 == 0:                                
  266.                                 award_1()
  267.                                 l1 = l1+1
  268.                             elif e3 == 0:                                
  269.                                 award_3()
  270.                                 l3 = l3+1
  271.                     else:                        
  272.                         award_2()
  273.                         l2 = l2+1
  274.                 if e2 != 0 :
  275.                     if e3 == 1 and e1 == 1:                        
  276.                         end()
  277.                     if e1 == 0:                        
  278.                         award_1()
  279.                         l1 = l1+1
  280.                     elif e3 == 0:                        
  281.                         award_3()
  282.                         l3 = l3+1
  283.             elif ta == "一等奖":
  284.                 if e1 == 0:                    
  285.                     if l1 == 1:                        
  286.                         if e2 == 0:                           
  287.                             award_2()
  288.                             l2 = l2+1
  289.                         elif e3 == 0:                           
  290.                             award_3()
  291.                             l3 = l3+1
  292.                         elif e1 == 0:                           
  293.                             award_1()
  294.                             l1 = l1+1
  295.                     elif l1 == 0:
  296.                         if iffirst1 == True :                           
  297.                             award_1()
  298.                             l1 = l1+1
  299.                             iffirst1 = False
  300.                         elif iffirst1 == False:                           
  301.                             if e2 == 0:                                
  302.                                 award_2()
  303.                                 l2 = l2+1
  304.                             elif e3 == 0:                                
  305.                                 award_3()
  306.                                 l3 = l3+1
  307.                     else:                        
  308.                         award_1()
  309.                         l1 = l1+1
  310.                 if e1 != 0 :
  311.                     if e2 == 1 and e3 == 1:                        
  312.                         end()
  313.                     if e2 == 0:                        
  314.                         award_2()
  315.                         l2 = l2+1
  316.                     elif e3 == 0:                        
  317.                         award_3()
  318.                         l3 = l3+1                    
  319.             pygame.display.update()
  320.             time.sleep(1)
  321.             if ta == "一等奖":
  322.                 t1 = t1+1
  323.                 print("picked1")
  324.             if ta == "二等奖":
  325.                 t2 = t2+1
  326.                 print("picked2")
  327.             if ta == "三等奖":
  328.                 t3 = t3+1
  329.                 print("picked3")
  330.     if t1 == a1 and e1 == 0:
  331.         la.remove("一等奖")
  332.         #emp1 = font.render("一等奖抽完啦!",True,(0,0,0))
  333.         #sc.blit(emp1,(95,5))
  334.         #la.append(0)
  335.         e1 = 1   
  336.     if t2 == a2 and e2 == 0:
  337.         la.remove("二等奖")
  338.         la.remove("二等奖")
  339.         #emp2 = font.render("二等奖抽完啦!",True,(0,0,0))
  340.         #sc.blit(emp2,(95,38))
  341.         e2 = 1
  342.     if t3 == a3 and e3 == 0:
  343.         la.remove("三等奖")
  344.         la.remove("三等奖")
  345.         la.remove("三等奖")
  346.         la.remove("三等奖")
  347.         la.remove("三等奖")
  348.         #emp3 = font.render("三等奖抽完啦!",True,(0,0,0))
  349.         #sc.blit(emp1,(95,71))
  350.         e3 = 1
  351.     pygame.display.update()
  352.     if la == []:
  353.         sc.blit(bg,(0,0))
  354.         text = font.render("结束",True,font_color)
  355.         sc.blit(text,(170,285))
  356.         pygame.display.update()
  357.         time.sleep(1)
  358.         pygame.display.quit()
  359.         exit()
  360.     if t1+t2+t3 == a1+a2+a3:
  361.         pygame.display.quit()
  362.         exit()</font>
复制代码
py转换exe】
    安装pyinstaller,打开cmd窗口,输入pip install pyinstaller,命令行输出successfully表示成功。运行cmd, 打开py文件所在的目录。如C:\code输入pyinstaller -F **.py即可。此时,我们可以看到,在code原始脚本的同级目录下,生成了build和dist文件夹,其中dist文件夹下存放我们想要的exe程序。
用python制作抽学号抽奖程序图16


盐焗海盐  见习技师

发表于 2022-4-2 20:43:10

666,get到了
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-4-2 22:07:35

6666666666
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-4-2 22:08:56

赞赞赞赞赞
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-4-2 22:10:17

厉害厉害
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-4-2 22:11:28

呵呵呵呵
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-4-2 22:12:33

哈哈哈哈
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-4-2 22:13:57

有用。。。
回复

使用道具 举报

 初级技匠

发表于 2022-4-13 11:21:56

可以再整一个“抽学号答题”的玩意儿
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2022-4-13 12:33:48

诩 发表于 2022-4-13 11:21
可以再整一个“抽学号答题”的玩意儿

好收到你的建议
回复

使用道具 举报

 初级技匠

发表于 2022-4-13 12:50:06

hnyzcj 发表于 2022-4-13 12:33
好收到你的建议

。。。
(我就开个玩笑嘛……)
回复

使用道具 举报

 初级技匠

发表于 2022-4-13 12:52:10

诩 发表于 2022-4-13 12:50
。。。
(我就开个玩笑嘛……)

不过也没关系,可以防止学生上课不听讲。
不知道可不可以用cmd:
点到哪个学生(如果是在线课的话)就自动解除静音并开启摄像头,
看看是不是也是“不经常在线”的一员
( ̄y▽ ̄)╭ Ohohoho.....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail