Python课程设计,设计一个简易计算器
在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课程设计,设计一个简易计算器相关推荐
- C语言简单计算器考虑优先级,利用你现有的c语言知识 设计开发一个简易计算器,可进行加、减、乘、除、求余运算。...
满意答案 nxy_159 推荐于 2017.11.21 采纳率:52% 等级:9 已帮助:3561人 #include float numA = 0; float numB = 0; float ...
- c语言课程设计报告-计算器的实现,C语言课程设计--一个简易计算器的设计与实现.doc...
C语言课程设计--一个简易计算器的设计与实现 扬 州 大 学 ------------------1 程序设计内容:------------------1 课程设计所补充的内容:补充的函数或算法--- ...
- python中用于释放类占用的资源的方法是()_编写一个简易计算器,要求根据输入的数字和四则运算符号,计算运算结果并输出。_学小易找答案...
[简答题]20191220 课前作业 新工作页4.1的3-5-3页的填空题,参考教材P135-P144 [简答题]AutoCAD改编视图,尽量不用虚线 1. 主视图采用局部剖,表达右上角小圆筒(及孔) ...
- python的Tkinter库简单应用——开发一个简易计算器
利用python的Tkinter库开发一个简易计算器 文章目录 利用python的Tkinter库开发一个简易计算器 前言 一.实验准备 二.开发步骤步骤 1.引入库 2.界面设计 3.关键--实现T ...
- linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....
用shell写一个简易计算器,可以实现加.减.乘.除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then echo &quo ...
- linux脚本计算器加减乘除,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....
用shell写一个简易计算器,可以实现加.减.乘.除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then echo &quo ...
- 如何使用 Java AWT 创建一个简易计算器
本文分享自华为云社区<手把手教你使用 Java AWT 创建一个简易计算器>,作者:海拥 . 关于AWT AWT (抽象窗口工具包)是一个有助于构建 GUI 的 API (图形用户界面)基 ...
- 前端 JavaScript 实现一个简易计算器
前端使用 JavaScript 实现一个简易计算器,没有难度,但是里面有些小知识还是需要注意的,算是一次基础知识回顾吧. 题目 实现一个简易版的计算器,需求如下: 1.除法操作时,如果被除数为0,则结 ...
- JSP 和 JavaBean 来实现一个简易计算器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码 1.calculater.jsp 2.Calculater.java 总结 前言 使用 JSP 和 Java ...
最新文章
- Apache构建web主机、日志分割及AWStats分析系统
- 飞信即将归来:移动企业IM面临的三大难题
- LeetCode 第 186 场周赛(1060/3107,前34.1%)
- 华为云技术开放日(第三季)话题介绍和直播群入口
- 【100题】第十一题(二叉树中节点的最大距离)
- 「leetcode」501. 二叉搜索树中的众数【暴力统计】【中序遍历】详解
- 中国最顶级的一批程序员,从首富到首负!
- Java 正则表达式 匹配英文字母
- 在SQL Sever中使用form membership认证
- 创建图层-只是保存lyr,此路不通
- 使用springboot往数据库中插入汉字报错
- 36个数据分析方法与模型
- jquery系列之-ajaxSubmit()提交表单示例
- 了解如何定义定义变量和调用函数
- Web应用防火墙 (WAF) 挡不住的攻击类型
- 接收字符大写转化为对应的小写
- ROS群机器人自动驾驶TensorFlow和人脸检测跟踪OpenCV
- 据挖掘中所需的概率论与数理统计知识
- 物联网专科专业必修课程_高职物联网专业课程体系建设
- 为什么程序员下班后只关显示器从不关电脑?
热门文章
- JSX element implicitly has type ‘any‘ because
- 饶毅正式发文举报裴钢论文后,多位学者质疑饶毅指控有误!饶毅对此再次回复!...
- mysql数据类型转换
- vue+three.js展示nrrd+vtk3D模型-vue框架集成(下)
- event.cancelBubble与event.stopPropagation()
- MFC界面编程基础(14):滚动条
- 应用性能管理(APM)综述
- HTML实现炫酷的流星雨
- 【数据挖掘】二手汽车交易预测
- 用R语言进行基本统计分析