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等计算问题,故最后 ...
随机推荐
- 题解-CF1140E Palindrome-less Arrays
CF1140E Palindrome-less Arrays \(n\) 和 \(k\) 和 \(n\) 个数的序列 \(a\).把 \(a\) 中的 \(-1\) 替换成 \([1,k]\) 之间的 ...
- 基于menu小插件探索工程实践
目录 一.准备工作 1.C/C++环境搭建 2.VSCode的配置 (1) 安装插件: (2) 设置配置文件: 二.工程化编程实战 1.模块化设计 2.可重用设计:进一步抽象 menu的进一步优化 可 ...
- java 系统属性设置
一.语法: java -Dproperty=value 二.注意事项: value如果有空格,需用使用双引号如:java -Dfoo="some string" 三.常见使用地方: ...
- java基础:方法的定义和调用详细介绍,方法同时获取数组最大值和最小值,比较两个数组,数组交换最大最小值,附练习案列
1. 方法概述 1.1 方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可 ...
- 探究虚拟dom与diff算法
一.虚拟DOM (1)什么是虚拟DOM? vdom可以看作是一个使用javascript模拟了DOM结构的树形结构,这个树结构包含整个DOM结构的信息,如下图: 可见左边的DOM结构,不论是标签名 ...
- python初学者-从键盘获取信息
name = input(">>> 姓名:") QQ = input(">>>QQ: ") phone_num = inpu ...
- Word2Vec和LDA的区别与联系
Word2vec是目前最常用的词嵌入模型之一.是一种浅层的神经网络模型,他有2种网络结构,分别是CBOW(continues bag of words)和 skip-gram.Word2vec 其实是 ...
- 麦格理银行借助DataStax Enterprise (DSE) 驱动数字化转型
在本文中,我们将介绍DataStax Enterprise是如何助力澳大利亚最大的投资银行麦格理银行的数字银行,实现了实时分析和自然语言搜索等多项功能,并为用户提供了个性化的用户体验. "D ...
- DRF视图的使用及源码流程分析
django rest framework中对于APIView.GenericAPIView.ModelViewSet.mixins扩展类的分析. APIView 示例 根据实际程序来分析: urls ...
- [leetcode]罗马数字和阿拉伯数字相互转换
罗马转阿拉伯 public int romanToInt(String s) { /* 从左到右依次根据哈希表进行加法 如果是"CM"900这种情况就要执行+M和-C处理 */ i ...