pyhton的tkinter制作简易口算训练器

前言

最近参加实习投递,发现好多家企业不管是什么岗位(研发or职能)都会考验到大家的数学能力
例如宝洁笔试直接就上了口算题,限时是真的紧张。
楼主不仅编程能力垃圾,数学能力也从小没有得到很好的锻炼(键盘打字的熟练度还是前几个月慢慢培养起来的)
说来惭愧。原生家庭教育影响甚深,以至于这么多年也不知道生活的意义。
废话少叙,直接上简单的小代码,大家见笑啦哈哈

代码

#导入GUI的包,以及随机数的包
import tkinter as tk
import random
#初始化窗口和幕布
root = tk.Tk()
window = tk.Frame(root, bg ="pink")
window.pack(expand = tk.YES,fill = tk.BOTH)
root.title('这是锻炼口算能力的小界面')  #窗口名字

#初始化用到的变量,两个数x,y和符号sym,sym限定在加号和减号之间,可以添加乘除
x = tk.IntVar()
y = tk.IntVar()
sym = tk.StringVar()
#显示变量的标签
tk.Label(window,textvariable =x).grid(row = 0,column = 0)
tk.Label(window,textvariable =y).grid(row = 0,column = 3,ipadx=10)
tk.Label(window,textvariable =sym).grid(row = 0,column = 2,ipadx=10)


symbol = ['+','-'] # sym符号的池子
flag = 1

#此函数产生新的题目,即新的随机的x,y和符号
def update_num():
    global flag
    if flag:
        flag = 0
        x.set(random.randint(10,100))
        y.set(random.randint(10,100))
        sym.set(symbol[random.randint(0,1)])
    else:
        flag = 1
        x.set(random.randint(10, 100))
        y.set(random.randint(10, 100))
        sym.set(symbol[random.randint(0,1)])

#生成标签,可调用命令,产生新题目
tk.Button(window,text = 'gen_num', width = 10,height = 4,bg = 'red', command = update_num).grid(row = 5,column = 10,sticky=tk.W)
# 生成输入框
e = tk.Entry(window)
e.grid(row = 0, column = 4)

result = tk.StringVar()
def judge(event):
    '''此函数是用来判断你输入到输入框中的答案是否与题目正确答案相同'''
    c = str(x.get())+sym.get()+str(y.get())
    if len(e.get()) !=0:
        if int(e.get()) == eval(c):
            update_num()
            result.set("哇你好厉害")
            e.delete(0,'end')
        else:
            result.set("你个大笨蛋")
            e.delete(0, 'end')
    else:
        result.set("宁还没有输入任何答案哦")

#键盘回车按键代替判断按钮,免去了每次检验结果时都需要鼠标操作的麻烦
root.bind('', judge)
button = tk.Button(window,text="judge",width = 10,height = 4,bg = 'green')
button.grid(row = 6,column = 10)
button.bind('',judge)
tk.Label(window,textvariable =result).grid(row = 1,column = 0)

#敞口循环必须有
root.mainloop()

后记

运行效果如图:
pyhton的tkinter制作简易口算训练器_第1张图片

可改进的地方:
1、窗口组件的布局,我不太会用grid()函数
2、增加按钮,如退出程序之类的
3、可打包成exe文件免去每次运行pycharm的麻烦
这样你和你的小孩就可以开开心心的随时随地锻炼口算
参考1:键盘监听
参考2:tkinter计算器

你可能感兴趣的:(pyhton学习)