Python开发的实用计算器完整实例


Posted in Python onMay 10, 2017

本文实例讲述了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. 运行效果图如下:

Python开发的实用计算器完整实例

Python开发的实用计算器完整实例

Python开发的实用计算器完整实例

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.3water.com/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python基础教程之Hello World!
Aug 29 Python
pygame学习笔记(1):矩形、圆型画图实例
Apr 15 Python
讲解Python中的递归函数
Apr 27 Python
图解Python变量与赋值
Apr 03 Python
使用Python 统计高频字数的方法
Jan 31 Python
Pycharm 2019 破解激活方法图文详解
Oct 11 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
Apr 21 Python
keras 多任务多loss实例
Jun 22 Python
python中numpy数组与list相互转换实例方法
Jan 29 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 Python
pytorch中的numel函数用法说明
May 13 Python
Python只用40行代码编写的计算器实例
May 10 #Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 #Python
python 3.5下xadmin的使用及修复源码bug
May 10 #Python
Python遍历文件夹和读写文件的实现方法
May 10 #Python
python中requests小技巧
May 10 #Python
Python实现针对中文排序的方法
May 09 #Python
浅谈python socket函数中,send与sendall的区别与使用方法
May 09 #Python
You might like
社区(php&&mysql)三
2006/10/09 PHP
php实现文件下载更能介绍
2012/11/23 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
PHP实现图片压缩
2020/09/09 PHP
JS 判断代码全收集
2009/04/28 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
利用Python读取文件的四种不同方法比对
2017/05/18 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
Python如何省略括号方法详解
2020/03/21 Python
Python中的全局变量如何理解
2020/06/04 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
医学院四年学习生活的自我评价
2013/11/06 职场文书
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
九年级化学教学反思
2014/01/28 职场文书
电子专业自荐信
2014/07/01 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
2014年统战工作总结
2014/12/09 职场文书
总账会计岗位职责
2015/04/02 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
opencv读取视频并保存图像的方法
2021/06/04 Python
Axios取消重复请求的方法实例详解
2021/06/15 Javascript
SQL之各种join小结详细讲解
2021/08/04 MySQL
python脚本框架webpy模板控制结构
2021/11/20 Python