importre#问题:让用户选择1,2不现实,如何让用户自动加减乘除#思考:现在已经能够处理,单个的加减或乘除#可否在混合中先分组出(乘除) eg: [‘8+9+‘,‘9*4/3‘,‘-‘,‘4*2‘,‘+5-2’#这样可以处理乘除,如何分组呢?? [bc] 匹配b或c

##8+9+9*4/3-4*2+5-2#num = input("please input:")#s = re.split(r‘(\d[*/]\d[*/]\d)‘, num)#print(s)

#coding:utf-8

#将输入的字符串格式统一转换成列表,将数字、符号、括号都成一个独立元素,#如: 12+3*(14+5) ----> ["12","+","3","*","(","14","+","5",")"]

defformat_input(input_re_value):

input_re_value= input_re_value.replace(" ", "") #去掉空格

print(input_re_value)

format_list=[]for i ininput_re_value:

format_list.append(i)#独立元素

snum =0while 1:try:if format_list[snum].isnumeric(): #如果列表第一个是“数字”,则返回true

if format_list[snum + 1].isnumeric():

format_list[snum]= format_list[snum] + format_list[snum + 1]

format_list.pop(snum+ 1)else:

snum+= 1

else:

snum+= 1

exceptIndexError:returnformat_list#计算没有括号的列表的值。

defcomput(re_value):while "*" in re_value or "/" inre_value:for i, j inenumerate(re_value):if j == "*":

re_cheng= float(re_value[i - 1]) * float(re_value[i + 1])

re_value.pop(i- 1)

re_value.pop(i- 1)

re_value.pop(i- 1)

re_value.insert(i- 1, re_cheng)if j == "/":

re_chu= float(re_value[i - 1]) / float(re_value[i + 1])

re_value.pop(i- 1)

re_value.pop(i- 1)

re_value.pop(i- 1)

re_value.insert(i- 1, re_chu)while "+" in re_value or "-" inre_value:for i, j inenumerate(re_value):if j == "+":

re_jia= float(re_value[i - 1]) + float(re_value[i + 1])

re_value.pop(i- 1)

re_value.pop(i- 1)

re_value.pop(i- 1)

re_value.insert(i- 1, re_jia)if j == "-":

re_jian= float(re_value[i - 1]) - float(re_value[i + 1])

re_value.pop(i- 1)

re_value.pop(i- 1)

re_value.pop(i- 1)

re_value.insert(i- 1, re_jian)returnre_value[0]#通过循环,先查找列表的第一个")",然后在")"位置向列表前找到第一个"("所在位置,#并将其中的元素提取出来,生成新的列表,交给comput计算,#返回值再插入列表当中,继续循环,直到没有"("为止

defbracket_filter(list1):while "(" inlist1:

i= list1.index(")")for m in range(i, -1, -1): #start, stop, step

if list1[m] == "(": #往前找,找到第一个"("

list_new = list1[(m + 1):i]

re_res=comput(list_new)

list1.insert(m, str(re_res))for item1 in range(i + 1 -m):

list1.pop(m+ 1)break

returncomput(list1)

input_sn= input("pls input:")

f_re=format_input(input_sn)

result=bracket_filter(f_re)print("The result is:", result)

python简单计算器综合实验报告_python之简单计算器相关推荐

  1. python简单计算器综合实验报告_Python实现的简单计算器功能详解

    本文实例讲述了Python实现的简单计算器功能.分享给大家供大家参考,具体如下: 使用python编写一款简易的计算器 计算器效果图 首先搭建计算器的面板: 计算器面板结构 建造一个继承于wx.Fra ...

  2. python综合实验报告_Python程序设计实验报告五:综合运用三种基本结构进行程序设计(综合性实验)...

    安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名姚彩琴学号3190505129 成绩 日期 2020.4.22 指导老师修宇 [实验名称]综合运用三种基本结构进行程序设计(综合性实 ...

  3. python综合实验报告_Python程序设计 实验报告

    安徽工程大学 Python程序设计 实验报告 班级:物流192       姓名:刘马汉卿学号:319005211 成绩:            日期:2020年4月29日        指导老师:修 ...

  4. python字典的应用实验报告_Python字典应用的一个例子

    #!/usr/bin/env python #定义一个空字典 db = {} def newuser(): prompt = '--login desired: ' while True: name ...

  5. python词频统计西游记实验报告_Python文本统计功能之西游记用字统计操作示例

    本文实例讲述了Python文本统计功能之西游记用字统计操作.分享给大家供大家参考,具体如下: 一.数据 xyj.txt,<西游记>的文本,2.2MB 致敬吴承恩大师,4020行(段) 二. ...

  6. python凯撒加密实验报告_Python之凯撒加密

    凯撒加密介绍 在密码学中,恺撒密码是一种最简单且最广为人知的加密技术. 它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文. 例,当偏移量是3的时 ...

  7. python猜数游戏实验报告_python实现猜数游戏

    本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下 一.问题描述: 使用python开发一个猜数小游戏,程序随机产生0~1024之间的数字,用户输入猜测数字,程序告诉用户 ...

  8. python学生成绩管理系统实验报告_Python实现学生成绩管理系统

    本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student ...

  9. python程序设计报告-20192416 实验四《Python程序设计》综合实践报告

    20192416 实验四 <Python程序设计> 综合实践报告 课程:<Python程序设计> 班级:1924 姓名:不愿透露姓名的はんたくさん 学号:20192416 实验 ...

最新文章

  1. SpiderData 2019年2月13日 DApp数据排行榜
  2. c3p0数据库连接池+mysql数据库基本使用方法
  3. Condition - Java多线程编程
  4. 深度学习(二十四)——L2 Normalization, Attention(1)
  5. OpenCV学习笔记——判断两张图的相似度
  6. Animate.css介绍
  7. 学生成绩查询java版_学生成绩查询系统,基于ssm的JAVA系统
  8. 要想学好前端开发,这五点你一定要知道!
  9. 启动转换安装失败 拷贝windows安装文件时出错_在Ubuntu16.04下安装MATLAB2017b
  10. sql顶部菜单项消失_SQL选择顶部
  11. linux端口映射转发工具- rinetd安装使用
  12. c语言编译器masm,汇编环境搭建 -- MASM32
  13. Golden Gate - 概念和机制
  14. 目标检测之非极大值抑制(NMS)
  15. 移动app性能测试工具:Emmagee使用介绍
  16. AD7606分析讲解
  17. 怎么把PDF页面删除?教你两种方法
  18. 微信内嵌H5网页 解决js倒计时失效
  19. 统计软件是其他计算机软件吗,电脑统计软件,statistical computing software,音标,读音,翻译,英文例句,英语词典...
  20. 最强整理:阿里云大师深入拆解Java虚拟机,经典好文

热门文章

  1. 热门Java开发工具IDEA入门指南——IntelliJ IDEA概述(下)
  2. Keil环境添加STC系列单片机
  3. 在Ignite中使用线性回归算法
  4. _access()函数
  5. Neodynamic JSPrintManager for Blazor
  6. k近邻算法——kd树
  7. 006输出9行内容,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789。
  8. html radio 默认选中
  9. 深度洞见|品牌如何布局微信生态,玩转私域运营?
  10. 【论文阅读】医学图像分割