m0_67989882 2022-05-09 10:01 采纳率: 100%
浏览 44
已结题

python有关gui的简单问题

img

帮我看看怎么写 真的不会gui 20个单词为 concern important because concert importance excellent universe usually people chinese banana republic without paying attention beautiful mistake future arrogant stagnant

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-05-09 12:19
    关注

    测试完毕,望采纳!

    from tkinter import *
    import random
    import time
    
    WORD = '''concern important because concert importance 
            excellent universe usually people chinese banana 
            republic without paying attention beautiful 
            mistake future arrogant stagnant'''.split()
    
    def random_word():
        global word
        word=random.choice(WORD)
        word_list=list(word)
        random.shuffle(word_list)
        return ''.join(word_list)
    
    def guess_word(event):
        global s
        if event.keysym == 'Escape':
            root.quit()
        if event.keysym == 'BackSpace':
            s=s[:-1]
        elif event.keysym == 'Return':
            judge_result()
        elif event.keysym == 'space':
            s+=' '
        elif len(event.keysym)==1:
            s+=event.keysym
        lb_guess.config(text=s)
    
    def judge_result():
        global s
        if s == word:
            lb_res.config(text=f'真棒,你猜对了!用时{round(time.time()-t1)}秒')
            lb_next.focus_set()
            lb_next.config(text='Y')
        else:
            lb_res.config(text=f'猜错了,再试试吧')
            s = ''
    
    def to_continue(event):
        if event.keysym == 'Escape':
            root.quit()
        elif event.keysym == 'Return':
            guess_next(lb_next['text'])
        elif event.keysym.upper() == 'Y' or event.keysym.upper() == 'N':
            lb_next.config(text=event.keysym.upper())
    
    def guess_next(a):
        global t1
        global s
        if a == 'Y':
            s = ''
            lb_word.config(text=random_word())
            lb_guess.focus_set()
            lb_guess.config(text='')
            lb_res.config(text='')
            t1=time.time()
        else:
            root.quit()
    
    s = ''
    word = ''
    root=Tk()
    root.title("猜单词游戏")
    root.geometry('400x250+300+200')
    root.resizable(False,False)
    Label(root,text='欢迎参加猜单词游戏',font=('Arial',12)).place(x=130,y=10)
    Label(root,text='把字母组合成一个正确的单词',font=('Arial',12)).place(x=100,y=35)
    Label(root,text='乱序后的单词:',font=('Arial',12)).place(x=50,y=85)
    Label(root,text='请你猜:',font=('Arial',12)).place(x=50,y=135)
    Label(root,text='是否继续(Y/N):',font=('Arial',12)).place(x=50,y=185)
    lb_word=Label(root,text=random_word(),font=('Arial',12))
    lb_word.place(x=170,y=85)
    lb_guess=Label(root,text='请输入单词',fg='blue',font=('Arial',12))
    lb_guess.bind('<Key>',guess_word)
    lb_guess.focus_set()
    lb_guess.place(x=120,y=135)
    lb_res=Label(root,font=('Arial',12))
    lb_res.place(x=50,y=160)
    lb_next=Label(root,font=('Arial',12))
    lb_next.bind('<Key>',to_continue)
    lb_next.place(x=190,y=185)
    t1 = time.time()
    root.mainloop()
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月10日
  • 创建了问题 5月9日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部