Python开发的实用计算器完整实例
发布时间 - 2026-01-11 01:03:57 点击率:次本文实例讲述了Python开发的实用计算器。分享给大家供大家参考,具体如下:

实现功能:图形界面PyQt,输入框,+,—,*,/ ;乘方 ,开方 ,取余,清零。
1. Python代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
Author : Mr.LiuYC
Created on 2014-09-30
E-Mail : liuyanchen0725@gmail.com
Introduction: 简易计算器 实现图形界面PyQt,输入框,+,—,*,/ ;乘方 ,开方 ,取余,清零。
'''
from PyQt4 import QtGui,QtCore
import sys , math , string
class Example(QtGui.QWidget):
def __init__(self,parent=None):
QtGui.QWidget.__init__(self,parent=parent)
self.initUI()
self.last = []
def initUI(self):
list = ['%','**','sqrt','C',7,8,9,'+',4,5,6,'-',1,2,3,'*',0,'.','=','/']
length = len(list)
for i in xrange(length):
self.button = QtGui.QPushButton(str(list[i]),self)
self.button.clicked.connect(self.onButtonClick)
x = i % 4
y = i / 4
self.button.move(x * 40 + 10,y * 40 + 90)
self.button.resize(30,30)
self.lineEdit = QtGui.QLineEdit('',self)
self.lineEdit.move(10,10)
self.lineEdit.resize(150,70)
self.setGeometry(200, 200, 170, 300)
self.setWindowTitle('Quit buttom')
self.show()
def onButtonClick(self):
t = self.lineEdit.text()
new = self.sender().text()
self.last.append(new)
print self.last
self.lineEdit.setText(t+new)
if new == '=':
result = eval(str(t))
self.lineEdit.setText(str(result))
if new == 'C':
self.lineEdit.setText('')
if new == 'sqrt':
self.lineEdit.setText('')
result = math.sqrt(string.atof(t))
self.lineEdit.setText(str(result))
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
e = Example()
sys.exit(app.exec_())
2. calculator.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
Author : Mr.LiuYC
Created on 2014-09-30
E-Mail : liuyanchen0725@gmail.com
Introduction: 简易计算器 实现图形界面PyQt,输入框,+,—,*,/ ;乘方 ,开方 ,取余,清零。
'''
from PyQt4 import QtGui,QtCore
import sys , math , string
class Example(QtGui.QWidget):
def __init__(self,parent=None):
QtGui.QWidget.__init__(self,parent=parent)
self.initUI()
self.last = []
def initUI(self):
list = ['%','**','sqrt','C',7,8,9,'+',4,5,6,'-',1,2,3,'*',0,'.','=','/']
length = len(list)
for i in xrange(length):
self.button = QtGui.QPushButton(str(list[i]),self)
self.button.clicked.connect(self.onButtonClick)
x = i % 4
y = i / 4
self.button.move(x * 40 + 10,y * 40 + 90)
self.button.resize(30,30)
self.lineEdit = QtGui.QLineEdit('',self)
self.lineEdit.move(10,10)
self.lineEdit.resize(150,70)
self.setGeometry(200, 200, 170, 300)
self.setWindowTitle('Quit buttom')
self.show()
def onButtonClick(self):
t = self.lineEdit.text()
new = self.sender().text()
self.last.append(new)
print self.last
self.lineEdit.setText(t+new)
if new == '=':
result = eval(str(t))
self.lineEdit.setText(str(result))
if new == 'C':
self.lineEdit.setText('')
if new == 'sqrt':
self.lineEdit.setText('')
result = math.sqrt(string.atof(t))
self.lineEdit.setText(str(result))
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
e = Example()
sys.exit(app.exec_())
3. 运行效果图如下:
PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:
在线一元函数(方程)求解计算工具:
http://tools./jisuanqi/equ_jisuanqi
科学计算器在线使用_高级计算器在线计算:
http://tools./jisuanqi/jsqkexue
在线计算器_标准计算器:
http://tools./jisuanqi/jsq
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# 计算器
# python 简易计算器程序
# 代码就几行
# Python实现简单的四则运算计算器
# 基于python的Tkinter实现一个简易计算器
# python实现简易版计算器
# 仅用50行代码实现一个Python编写的计算器的教程
# Python只用40行代码编写的计算器实例
# Python设计实现的计算器功能完整实例
# Python+tkinter使用80行代码实现一个计算器实例
# 用python实现一个简单计算器(完整DEMO)
# 输入框
# 清零
# 进阶
# 操作技巧
# 相关内容
# 感兴趣
# 数据结构
# 给大家
# 更多关于
# 所述
# 几款
# 程序设计
# 使用技巧
# 再为
# 讲述了
# sys
# QtCore
# math
# QWidget
# string
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
如何在IIS服务器上快速部署高效网站?
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
如何自定义建站之星网站的导航菜单样式?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
JavaScript常见的五种数组去重的方式
Linux网络带宽限制_tc配置实践解析【教程】
实现点击下箭头变上箭头来回切换的两种方法【推荐】
历史网站制作软件,华为如何找回被删除的网站?
JavaScript如何实现倒计时_时间函数如何精确控制
黑客如何利用漏洞与弱口令入侵网站服务器?
在centOS 7安装mysql 5.7的详细教程
活动邀请函制作网站有哪些,活动邀请函文案?
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
如何用AWS免费套餐快速搭建高效网站?
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
如何在阿里云服务器自主搭建网站?
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
高防服务器租用如何选择配置与防御等级?
EditPlus中的正则表达式实战(6)
做企业网站制作流程,企业网站制作基本流程有哪些?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel Session怎么存储_Laravel Session驱动配置详解
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
如何在橙子建站中快速调整背景颜色?
JS实现鼠标移上去显示图片或微信二维码
Laravel如何记录自定义日志?(Log频道配置)
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Android自定义控件实现温度旋转按钮效果
详解MySQL数据库的安装与密码配置
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
Android仿QQ列表左滑删除操作
香港服务器网站卡顿?如何解决网络延迟与负载问题?
Android GridView 滑动条设置一直显示状态(推荐)
linux写shell需要注意的问题(必看)
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
Linux系统命令中tree命令详解
奇安信“盘古石”团队突破 iOS 26.1 提权

