实验内容

1.简单计算器的设计
请设计简单的“加减乘除”计算器并从键盘上输入数据进行计算

数字的加减乘除,input返回的结果是str类型的,通过截取字符串中的运算符,来提取数字,循环操作,返回结果。具体操作步骤在代码的注释里。

def add(string):  # 定义加法
tmp = 0
numbers = []
numbers += string.split("+") # 对用户输入的数字以+号做分割,写入到列表里。
for i in numbers: # 遍历列表。
tmp += int(i.strip()) # 先对遍历的对象i,去除空格后,得出结果tmp = i + tmp
print("{0} = {1}".format(string, tmp)) # 打印结果tmp def subtraction(string): # 定义减法
numbers = []
numbers += string.split("-") # 对用户输入的数字以-号做分割,写入到列表里。
tmp = int(numbers[0].strip()) # 取列表的第一个数字给tmp
numbers.pop(0) # 因为第一个值给了tmp 所以删除第一个值。
for i in numbers: # 遍历numbers
tmp -= int(i.strip()) # 得出结果tmp ,每次循环都删除第一个值然后相减。
print("{0} = {1}".format(string, tmp)) def multiplication(string): # 定义乘法
numbers = []
numbers += string.split("*") # 对用户输入的数字以*号做分割,写入到列表里。
tmp = int(numbers[0].strip()) # 取列表的第一个数字给tmp
numbers.pop(0) # 因为第一个值给了tmp 所以删除第一个值。
for i in numbers: # 遍历numbers
tmp *= int(i.strip()) # 得出结果tmp ,每次循环都删除第一个值然后相乘。
print("{0} = {1}".format(string, tmp)) def division(string): # 定义除法
numbers = []
numbers += string.split("/") # 对用户输入的数字以/号做分割,写入到列表里。
tmp = int(numbers[0].strip()) # 取列表的第一个数字给tmp
numbers.pop(0) # 因为第一个值给了tmp 所以删除第一个值。
for i in numbers: # 遍历numbers
tmp /= int(i.strip()) # 得出结果tmp ,每次循环都删除第一个值然后相除。
print("{0} = {1}".format(string, tmp)) if __name__ == '__main__': # 定义执行方式,当执行脚本本身,执行如下代码。
print("******************************")
print(" 计算器")
print("******************************")
chose = input("选择你要的计算方式,1/加法 ,2/减法,3/乘法,4/除法: ")
if chose == "1":
tmp = input("请输入你要计算的数字:")
add(tmp)
elif chose == '2':
tmp = input("请输入你要计算的数字:")
subtraction(tmp)
elif chose == '3':
tmp = input("请输入你要计算的数字:")
multiplication(tmp)
elif chose == '4':
tmp = input("请输入你要计算的数字:")
division(tmp)
else:
print("你输入的有误,请重新输入")

测试结果:




如果不按要求输入会提示错误

python3实现计算器的更多相关文章

  1. python3.5 + PyQt5 +Eric6 实现的一个计算器

    目前可以实现简单的计算.计算前请重置,设计的时候默认数字是0,学了半天就做出来个这么个结果,bug不少. python3.5 + PyQt5 +Eric6 在windows7 32位系统可以完美运行 ...

  2. 从零开始学习PYTHON3讲义(十一)计算器升级啦

    (内容需要,本讲中再次使用了大量在线公式,如果因为转帖网站不支持公式无法显示的情况,欢迎访问原始博客.) <从零开始PYTHON3>第十一讲 第二讲的时候,我们通过Python的交互模式来 ...

  3. 从零开始学习PYTHON3讲义(二)把Python当做计算器

    <从零开始PYTHON3>第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境,macOS/Linux都可以在命令行执行idle3.Windows则从开始菜单中去寻找ID ...

  4. python3 正则表达式 re模块之辣眼睛 计算器

    额...学到几个常用模块了,也要其中考试了,每天晚上敲一点,敲得脑壳疼,不过又想到好一点的办法了,有时间再改吧. 此非吾所欲也,实属无奈也....复习之路漫漫,吾将到书上求索,在此不多逗留,我挥一挥衣 ...

  5. Python3 基本数据类型

    Python中的变量不需要声明,每个变量使用前必须赋值,变量赋值后才会被创建,在Python中变量就是变量,它没有类型.我们所说的"类型"是变量所指的内存中对象的类型. 等号(=) ...

  6. python之计算器(第四天)

    作业: 使用正则表达式和递归实现计算器功能. 实现: 1.实现带括号的计算 2.实现指数.加减乘除求余等功能 一.实例说明: 本实例自己写了个版本,但依旧存在一点bug,例:-2-2等计算问题,故最后 ...

  7. 用Python3实现表达式求值

    一.题目描述 请用 python3 编写一个计算器的控制台程序,支持加减乘除.乘方.括号.小数点,运算符优先级为括号>乘方>乘除>加减,同级别运算按照从左向右的顺序计算. 二.输入描 ...

  8. Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例

    match.search.findall.group(s) 区别 import re # match findall经常用 # re.match() #从开头匹配,没有匹配到对象就返回NONE # r ...

  9. python 编程之计算器

    作业: 使用正则表达式和递归实现计算器功能. 实现: 1.实现带括号的计算 2.实现指数.加减乘除求余等功能 一.实例说明: 本实例自己写了个版本,但依旧存在一点bug,例:-2-2等计算问题,故最后 ...

随机推荐

  1. 笨方法学python笔记

    编程是什么 编程就是通过输出一种语言给计算机"听",命令其去执行相应的操作. 我们称我们给计算机下达的命令称为指令.一般说程序就是有多个指令构成的. 计算机需要使用非常多的电路来实 ...

  2. 计算机语言与JAVA的发展

    计算机语言与JAVA的发展 第一代语言 2进制 第二代语言 汇编语言 解决人类无法读懂的问题 指令替代二进制 目前应用 逆向工程 机器人 病毒 第三代语言 摩尔定律 性能提升愈来愈慢 高级语言 面向过 ...

  3. jfinal 导出excle

    Controller Map<String,List<PoiUtilHeader>> result = new HashMap<String, List<PoiUt ...

  4. ajax与浏览器请求的差异对比.png

  5. 标注工具labelimg和labelme

    矩形标注工具:labelimg 多边形标准工具:labelme 前者官网发布了可执行文件,后者只有python源码,如果需要编译windows exe,可以这样: pip install labelm ...

  6. latex参考文献删除[.s.l],[.s.n]

    用latex写毕业论文的插入会议参考论文的时候可能会遇到编译后的文档里面一堆[.s.l],[.s.n]的问题. 这是因为ref里面会议条目找不到地址信息,所以用[.s.l],[.s.n]替代,只需要更 ...

  7. gnuplot添加直线和箭头

    http://blog.csdn.net/bill_chuang/article/details/18215051 6.在图中添加直线和箭头 gnuplot> set arrow from 0. ...

  8. 密码管理平台ratticdb的部署,在centos7上的部署

    一,前言 一直想用ratticdb这个有web界面的密码管理工具,百度了一下居然没有找到中文的部署文档,访问官网也是notfound.找到了官方的部署指南:https://github.com/til ...

  9. 2020-2021-1 20209307 《Linux内核原理与分析》第八周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第八周作业> 这个作业的目标 & ...

  10. 初识SylixOs

    SylixOS 概述 SylixOS 是一款大型嵌入式实时操作系统,诞生于 2006 年,起初它只是一个小型多任务调度器,经过多年开发,SylixOS 目前已经成为一个功能完善.性能卓越.可靠稳定的嵌 ...