python3实现计算器
实验内容
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实现计算器的更多相关文章
- python3.5 + PyQt5 +Eric6 实现的一个计算器
目前可以实现简单的计算.计算前请重置,设计的时候默认数字是0,学了半天就做出来个这么个结果,bug不少. python3.5 + PyQt5 +Eric6 在windows7 32位系统可以完美运行 ...
- 从零开始学习PYTHON3讲义(十一)计算器升级啦
(内容需要,本讲中再次使用了大量在线公式,如果因为转帖网站不支持公式无法显示的情况,欢迎访问原始博客.) <从零开始PYTHON3>第十一讲 第二讲的时候,我们通过Python的交互模式来 ...
- 从零开始学习PYTHON3讲义(二)把Python当做计算器
<从零开始PYTHON3>第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境,macOS/Linux都可以在命令行执行idle3.Windows则从开始菜单中去寻找ID ...
- python3 正则表达式 re模块之辣眼睛 计算器
额...学到几个常用模块了,也要其中考试了,每天晚上敲一点,敲得脑壳疼,不过又想到好一点的办法了,有时间再改吧. 此非吾所欲也,实属无奈也....复习之路漫漫,吾将到书上求索,在此不多逗留,我挥一挥衣 ...
- Python3 基本数据类型
Python中的变量不需要声明,每个变量使用前必须赋值,变量赋值后才会被创建,在Python中变量就是变量,它没有类型.我们所说的"类型"是变量所指的内存中对象的类型. 等号(=) ...
- python之计算器(第四天)
作业: 使用正则表达式和递归实现计算器功能. 实现: 1.实现带括号的计算 2.实现指数.加减乘除求余等功能 一.实例说明: 本实例自己写了个版本,但依旧存在一点bug,例:-2-2等计算问题,故最后 ...
- 用Python3实现表达式求值
一.题目描述 请用 python3 编写一个计算器的控制台程序,支持加减乘除.乘方.括号.小数点,运算符优先级为括号>乘方>乘除>加减,同级别运算按照从左向右的顺序计算. 二.输入描 ...
- Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例
match.search.findall.group(s) 区别 import re # match findall经常用 # re.match() #从开头匹配,没有匹配到对象就返回NONE # r ...
- python 编程之计算器
作业: 使用正则表达式和递归实现计算器功能. 实现: 1.实现带括号的计算 2.实现指数.加减乘除求余等功能 一.实例说明: 本实例自己写了个版本,但依旧存在一点bug,例:-2-2等计算问题,故最后 ...
随机推荐
- uniapp中使用picker中的注意事项
APP端中picker点击后不弹出: 1.请确保picker标签里面嵌套了一个view,并且view里面有值 2.请确保picker中的默认值的格式跟该picker类型的值对应 例如下面: <v ...
- JavaSE09-(练手)简易学生管理系统
1.学生管理系统实现步骤 案例需求 系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 修改学生:通过键盘录入要修改学生 ...
- Idea中Web项目Jsp文件找不到类解决方法
在src下创建package,java代码放到包中,编译时才能在WEB-INFO的classes文件夹中生成可识别的class文件 https://blog.csdn.net/youwanname/a ...
- bp VNext 入门——让ABP跑起来
因好多群友@我说,ABP他们简单的了解了下,按照官方的教程一路下来跑不起来(倒在了入门的门口),才有了此文. 此文结合官方文档,一步一步带领大家让ABP跑起来(跨过门口). 建议大家一步一步实际动手操 ...
- Spring Cloud Alibaba基础教程-Nacos(三)
在Spring Cloud Alibaba基础教程-Nacos(二)当中学习了,如何使用 nacos图形化界面操作 ,使用Nacos部署集群,下面我们开始Nacos最后一篇的学习 ,如果对你有帮助,记 ...
- 在linux下搭建NFS服务器实现文件共享
目录 一.关于NFS 二.搭建一台NFS服务器共享特定资源 三.调优 一.关于NFS 1.NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系 ...
- C#未能找到类型或命名空间名称xxxxxx的可能原因
常见原因 原因:使用的.NET版本不一样 今天又被这问题撞上了,结果神奇般的解决了 谷歌了很久都没有找到真正有用的解决方案,所以在这儿写下,让更多的人看到 最根本的原因其实就是引用的问题,引用错了,然 ...
- JavaEE在职加薪课好客租房项目实战视频教程
JavaEE在职加薪课好客租房项目实战视频教程课程介绍: 本课程采用SOA架构思想进行设计,基于目前主流后端技术框架SpringBoot.SpringMVC.Mybaits.Dubbo等来 ...
- 唐诗宋词APP
古诗词个人爱好,已收集5万多首唐诗以及1万多首宋词,因时间有限目前只开发了苹果版,后期开发安卓版, <风月醉>一 国学经典,有兴趣的可以下载学习古诗词,有问题可以留言哦! https:// ...
- three.js WebGLRenderTarget
今天郭先生说一说WebGLRenderTarget,它是一个缓冲,就是在这个缓冲中,视频卡为正在后台渲染的场景绘制像素. 它用于不同的效果,例如把它做为贴图使用或者图像后期处理.线案例请点击博客原文. ...