码迷,mamicode.com
首页 > 编程语言 > 详细

使用python实现计算器功能

时间:2018-02-18 16:42:05      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:技术   正则   初学   计算   png   接受   方法   div   9.png   

# 实现带括号的复杂加减乘除优先级运算
# 主要运用到了正则表达式、while循环、列表的几种方法等。
# 为实现要求的运算功能该代码共分为两个部分,一个是实现不带括号的加减乘除运算的函数add_sub_mul_div
# 另外一个是一个循环加6行代码来不断去掉最内层括号并完成括号内表达式,该部分将不断调用函数add_sub_mul_div
# 实例 a = ‘1-2*(3+4/((5-6*7)+8)*9/10-(11+12)*13*14/15/(16-17)/18/19)*20‘
# 运算结果 a = -146.67385897694427
# 初学python代码可能繁杂...会虚心接受建议并不断学习!ps:上午用了四个小时写加减乘除并不断实例验证...
# 下午两个小时来写去括号的功能并调用加减乘除验证实例,每次写完以为对了运行却出现了各种错误... 
# 如正则负整数的处理,以及开始写函数时乘除运算从左向右没有考虑到...等等

# 代码正文:

import re
a = ‘1-2*(3+4/((5-6*7)+8)*9/10-(11+12)*13*14/15/(16-17)/18/19)*20‘
b = re.findall(‘([\d\.]+|-[\d\.]+|\+|/|\*|-|\(|\))‘, a)   # 将字符串中的正数、负数、加减乘除运算符分别单个的在列表中显示

# 由于直接复制过来不带格式太乱了,就直接截图粘贴了。

 技术分享图片

技术分享图片

技术分享图片

使用python实现计算器功能

标签:技术   正则   初学   计算   png   接受   方法   div   9.png   

原文地址:https://www.cnblogs.com/guolei2570/p/8452866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!