在Python课程设计中,设计一个简易计算器,根据课本内容所写

import tkinter
import tkinter.messagebox
import reroot = tkinter.Tk()
root.geometry('300x270+400+100') # 设置窗口大小和位置
root.resizable(False,False)  # 不允许改变窗口大小
root.title('计算器')# 放置用来显示信息的文本框,并设置为只读
contentVar = tkinter.StringVar(root,'')
contentEntry = tkinter.Entry(root, textvariable=contentVar, state='readonly')
contentEntry.place(x=10, y=10, width=280, height=20)# 按钮通用代码
def buttonClick(btn):content = contentVar.get()# 如果已有内容是以小数点开头的,前面加0if content.startswith('.'):content = '0' + content# 根据不同按钮做出相应的处理if btn in '0123456789':content += btnelif btn == '.':lastPast = re.split(r'\+|-|\*|/]',content)[-1]if '.' in lastPast:tkinter.messagebox.showerror('错误','小数点太多了')returnelse:content += btnelif btn == 'C':content = ''elif btn == '=':try:# 对输入的表达式求值content = str(eval(content))except:tkinter.messagebox.showerror('错误','表达式错误')returnelif btn in operators:if content.endswith(operators):tkinter.messagebox.showerror('错误','不允许存在连续的运算符')returncontent += btnelif btn =='Sqrt':n = content.split('.')if all(map(lambda x:x.isdigit(),n)):content = eval(content) ** 0.5else:tkinter.messagebox.showerror('错误','表达式错误')returncontentVar.set(content)
# 放置clear按钮和”=“按钮
btnClear = tkinter.Button(root, text='C', command=lambda:buttonClick('C'))
btnClear.place(x=40, y=40, width=80, height=20)
btnCompute = tkinter.Button(root, text='=', command=lambda:buttonClick('='))
btnCompute.place(x=170, y=40, width=80, height=20)# 放置10个数字,小数点,和计算平方根的按钮
digits = list('0123456789.') + ['Sqrt']
index = 0
for row in range(4):for col in range(3):d = digits[index]index += 1btnDigit = tkinter.Button(root, text=d, command=lambda x=d: buttonClick(x))btnDigit.place(x=20 + col * 70, y=80 + row * 50, width=50, height=20)# 放置运算符按钮
operators = ('+', '-', '*', '/', '**', '//')
for index, operator in enumerate(operators):btnOperator = tkinter.Button(root, text=operator, command=lambda x=operator: buttonClick(x))btnOperator.place(x=230, y=80 + index * 50, width=50, height=20)root.mainloop()

Python课程设计,设计一个简易计算器相关推荐

  1. C语言简单计算器考虑优先级,利用你现有的c语言知识 设计开发一个简易计算器,可进行加、减、乘、除、求余运算。...

    满意答案 nxy_159 推荐于 2017.11.21 采纳率:52%    等级:9 已帮助:3561人 #include float numA = 0; float numB = 0; float ...

  2. c语言课程设计报告-计算器的实现,C语言课程设计--一个简易计算器的设计与实现.doc...

    C语言课程设计--一个简易计算器的设计与实现 扬 州 大 学 ------------------1 程序设计内容:------------------1 课程设计所补充的内容:补充的函数或算法--- ...

  3. python中用于释放类占用的资源的方法是()_编写一个简易计算器,要求根据输入的数字和四则运算符号,计算运算结果并输出。_学小易找答案...

    [简答题]20191220 课前作业 新工作页4.1的3-5-3页的填空题,参考教材P135-P144 [简答题]AutoCAD改编视图,尽量不用虚线 1. 主视图采用局部剖,表达右上角小圆筒(及孔) ...

  4. python的Tkinter库简单应用——开发一个简易计算器

    利用python的Tkinter库开发一个简易计算器 文章目录 利用python的Tkinter库开发一个简易计算器 前言 一.实验准备 二.开发步骤步骤 1.引入库 2.界面设计 3.关键--实现T ...

  5. linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....

    用shell写一个简易计算器,可以实现加.减.乘.除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then echo &quo ...

  6. linux脚本计算器加减乘除,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....

    用shell写一个简易计算器,可以实现加.减.乘.除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then echo &quo ...

  7. 如何使用 Java AWT 创建一个简易计算器

    本文分享自华为云社区<手把手教你使用 Java AWT 创建一个简易计算器>,作者:海拥 . 关于AWT AWT (抽象窗口工具包)是一个有助于构建 GUI 的 API (图形用户界面)基 ...

  8. 前端 JavaScript 实现一个简易计算器

    前端使用 JavaScript 实现一个简易计算器,没有难度,但是里面有些小知识还是需要注意的,算是一次基础知识回顾吧. 题目 实现一个简易版的计算器,需求如下: 1.除法操作时,如果被除数为0,则结 ...

  9. JSP 和 JavaBean 来实现一个简易计算器

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码 1.calculater.jsp 2.Calculater.java 总结 前言 使用 JSP 和 Java ...

最新文章

  1. 占失物,笔记本电脑电池
  2. xml语法规则(一)
  3. linux 内核 数据结构 file_operations、file、inode
  4. libevent java_libevent简介
  5. 未处理的异常:进程性能计数器已禁用
  6. Java语法教程-Java开发环境安装JDK
  7. ssl初一组周六模拟赛【2018.5.19】
  8. 光纤通信中的直接检测和相干检测系统
  9. ubuntu16.04安装使用redis入门教程
  10. 漫网漫画APP源码包含后台完整版
  11. html把字体设置为繁体,XP下怎样将繁体字设置成系统字体?XP下把系统字体改为繁体的方法...
  12. dota2地区服务器延迟,DOTA2 TI8预选赛:南美服务器爆炸比赛延迟
  13. cups ipp oracle,Linux打印系统CUPS原理分析
  14. 网页颜色搭配表及颜色搭配技巧
  15. 解除WORD文档保护
  16. centos怎么把计算机调到桌面,CentOS下命令行和桌面模式的切换方法
  17. 使用JAVA实现看吉日/黄道吉日/看日子功能的开发方法
  18. 什么是电商ERP,有什么作用
  19. 我肝了long long time 的笔记(别白嫖啊)
  20. (笔记)罗辑思维-学习的真相

热门文章

  1. asp.net花店购物商城系统
  2. 双十一什么数码产品值得买?2022双十一值得买的数码好物推荐
  3. 计算机网络教程网线制作,如何制作网线 进来看看你就会【图文教程】
  4. sysbench工具使用
  5. JavaWeb世界(九):文件上传与下载
  6. 基于django+elasticsearch的全文检索
  7. RunJS个人使用推荐(好用的JS、css实时预览、编辑、管理等功能)
  8. 使用runjs在博客园中显示demo效果图
  9. 【RabbitMq04】延迟队列
  10. 2019年最新攻略:公众号/小程序涨粉方法 | 附下载链接!