同事家的小朋友上了一年级,学校布置作业要学习20以内的加减法运算,而且必须是有进位或者减位的。

比如18-9=9 或者7+6=13

觉得专门写一堆题目没啥意思,于是用python+tkinter写个小程序,然后用cx_freeze打包成exe文件,能够随机出题,并检验回答是否正确。新手上路,难免遇到很多问题。

代码如下:

#!/usr/bin/env python# -*- coding: utf-8 -*-
from tkinter import *
import randomdef main():a=random.randint(1,18)if a <10:b=random.randint(10-a,9)c=a+bresult="%d  +  %d" %(a,b)return (result,c)if a>=10:b=random.randint(a-9,9)c=a-bresult="%d  -  %d" %(a,b)return (result,c)def check():if int(result.get())==int(t[1]):h="恭喜你!回答正确"hint.set(h)else:h="抱歉!回答错误!"hint.set(h)result.set('')def next():global tt=main()e.set(t[0])result.set('')hint.set('')master = Tk()
master.geometry('500x500+100+100')
master.title("20以内加减进退位运算")
Label(master,text="题目").grid(row=0)
Label(master,text="答案").grid(row=1)
Label(master,text="信息").grid(row=4)
e = StringVar()
result=StringVar()
hint=StringVar()
e1 = Entry(master,textvariable=e)
e2 = Entry(master,textvariable=result)
e3 = Entry(master,textvariable=hint)
t=main()
e.set(t[0])
result.get()e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
e3.grid(row=4, column=1)btn=Button(master,text = '确定',command = check)
btn2=Button(master,text = '下一题',command = next)
btn.grid(row=2,column=2)
btn2.grid(row=2,column=4)master.mainloop()

python版本是3.3.5,使用的cx_freeze版本是4.3.2

打包的时候一开始是使用py2exe打包的,发现总是有问题,网上都说py2exe对python3不支持之类的,于是换了cx_freeze。

结果也是遇到各种问题,还好基本都能网络上找到,到最后,打包成exe后,双击exe文件,直接弹出一个小黑框,然后一闪而过,在cmd下面执行exe文件也没有任何报错。。。

于是各种搜索是什么问题,找不到原因,于是换了Python版本,cx_freeze版本,还是这样的情况。都要放弃的时候,无意间看到有个他人的程序中加了这么一段代码:

master.mainloop()

死马当活马医,结果真就弹窗了。。。

然后又有一个小问题,那就是程序可以正常显示了,但同时还有个小黑框也显示出来了。。。这个好解决,在打包exe时候,cxfreeze命令指定参数即可:

cxfreeze calc_20.py  --base-name=win32gui

程序界面:

当你在答案框输入答案后,会判断答案是否正确:

如果回答错误,则会清空答案框的内容,提醒你再次回答:

回答正确后可以点击下一题,则可继续答题。

界面很丑,tkinter都是现学现弄的,但自己还是比较满意的,起码可以看到自己的进步。加油。

python小程序---20以内的加减法进位运算相关推荐

  1. 使用python语言实现20以内的加减法生成

    现在文档都收费了,搜个加减法题目发现都收费了,正好最近在学python,所以用python自己写代码生成了一个,就是排班还需要二次加工一下.下面的代码是运行后,会生成txt的文本 import ran ...

  2. 题目: 某学校需要一个能给学领前儿童自动出三个数加减法的算术题的程序,要求在运算过程中只能使用20以内的加减法且不能出现负数,并且未知数可以在等式的任何一位, 如 3 + 4 – 2 = ( ), 8

    题目: 某学校需要一个能给学领前儿童自动出三个数加减法的算术题的程序,要求在运算过程中只能使用20以内的加减法且不能出现负数,并且未知数可以在等式的任何一位, 如 3 + 4 – 2 = ( ), 8 ...

  3. 10以内数的组成分解图_学前儿童如何学习20以内的加减法,收藏了

    学前儿童如何学习20以内的加减法,收藏了 20以内的数的分成及加减法,是幼儿对数与量的基本认识.是幼儿园教材中的学习内容.如何教好"20以内的加法"呢?我在这里谈几点学习20以内的 ...

  4. 几个python小程序

    python小程序 1-100求和 1 def Sum(x, y): 2 return x+y 3 print reduce(lambda x,y:x+y,range(1,101)) 4 5 i = ...

  5. 有趣python小程序系列之一

    文章目录 前言 一.飘落的银杏 二.代码部分 1.导入所需的库 2.生成斐波那契数列 3.定义生成叶子的方法 4.定义生成树的方法 5.主函数部分 三.结果展示 前言 关于学python的初衷,如图, ...

  6. python降低图片分辨率_手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定!...

    原标题:手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定! 大数据文摘作品 编译:HAPPEN.于乐源.小鱼 一位乐于分享学生精彩笔记的大学教授对于扫描版的文件非常不满意--颜色不清晰并且 ...

  7. python小程序---设计签名

    python小程序-签名设计 签名设计 初学python,学习了基本语法后闲来无事,用所学知识写了一个设计签名的小程序.此程序中会用到爬虫和正则表达式等相关知识.我会用代码的形式向大家展示这样的一个小 ...

  8. python恶搞小程序-有趣的python小程序

    有趣的python小程序 1.密码生成器x=int(input()) print(''.join(__import__('random').choice('QWERTYUIOPASDFGHJKLZXC ...

  9. python日历小程序_一个查看网络设备信息Python小程序

    原标题:一个查看网络设备信息Python小程序 网络编程中,最常见的一个问题就是,获取设备信息. 首先我们,要学习如何获取本机的网络信息.我们将用到标准库中的socket库.假如说,我们要查看本机的 ...

最新文章

  1. 【VS开发】【电子电路技术】RJ45以太网传输线研究
  2. WMI技术介绍和应用——查询时间信息
  3. 头脑风暴-如何减少软件项目对于人的依赖性。
  4. 警方办案滥用谷歌地理围栏,小伙三次骑车路过案发点被视作嫌犯
  5. mysql数据库存储引擎选择_MySQL数据库性能优化之存储引擎选择
  6. 7-8垃圾箱分布_您认为有关垃圾收集的7件事-完全错了
  7. centos7升级openssh
  8. 【C++深度剖析教程38】类模板深度剖析
  9. html中怎样实现在输入框中出现提示
  10. oracle32位客户端安装教程,Win7系统32位Oracle11g客户端安装详述
  11. redis主从复制和哨兵机制
  12. Topological Sorting(拓扑排序)
  13. 配置React Native环境
  14. 关于html转换为pdf案例的一些测试与思考
  15. VMware Workstation 10.0.7 安装
  16. Android :RxJava学习笔记之Single、Completable以及Maybe
  17. 去哪儿APP 算法初探窥镜
  18. 清华大学 zhongguo li 计算机,2013年EI收录中国期刊名单(包括新收录的).xls
  19. Label 相关论文汇总
  20. 深度学习之卷积神经网络CNN 常用的几个模型

热门文章

  1. 2020年终总结,android工程师面试题目和答案
  2. 权限提升:不带引号服务路径 || 不安全的服务权限.
  3. Cozmo机器人安卓版本下载安卓说明
  4. 计算机控制技术(机器人方向)开放实验说明(Cozmo智能机器人)
  5. Binary Apple Tree
  6. 新加坡企业投资类型有哪几种?
  7. 不需要数据库的DokuWiki
  8. P3493 [POI2009]WSP-Island(贪心,半平面交)
  9. 创业初期,单身vs已婚
  10. C#平均值计算器具体实现