【0基础入门Python Web笔记】四、python 之计算器的进阶之路

news2025/5/20 2:20:32

四、python 之计算器的进阶之路

    • 往期导航
    • 越来越智能的加法计算器
    • 加减乘除计算器
    • 来点课程作业?
    • 更多实战项目可进入下方官网

往期导航

一、python 之基础语法、基础数据类型、复合数据类型及基本操作
二、python 之逻辑运算和制流程语句
三、python 之函数以及常用内置函数

越来越智能的加法计算器

现在的实战需求:计算出任意两个数字的加法之和

可以通过一下代码直接计算出a和b之和:

# 定义一个数字a
a = 12
# 定义一个数字b
b = 232
# 结果计算
r = a + b
# 输出结果
print("加法结果:", r)

以上代码只需要修改a和b的值,就可以轻松计算a和b数字之和。看似没有问题,但是每次都需要修改代码中的数字,然后重新运行才能够计算。

能不能让程序更聪明一点?这里就引入input()函数,这样就能够接收到键盘输入的数据了!下面是经过升级改造的代码:

# 定义一个数字a
a = float(input("请输入数字A:"))
# 定义一个数字b
b = float(input("请输入数字B:"))

# 结果计算
r = a + b
print("加法结果:", r)

因为input()函数接收到的是字符串,如果不转换成数字类型是无法正确计算出结果的!
小伙伴们可以试一下如果不使用float(input())会是什么效果!

以上代码可以通过键盘输入进行计算了,great!但是只能计算一次,程序就结束了,还是不够智能。能不能让他可以在我们的控制之下才计算,比如我们输入’add’程序就会执行,输入’quit’程序才会退出

下面是再次改造的代码:

# 定义程序标识
flag = 'add'
while flag != 'quit':
    # 定义一个数字a
    a = float(input("请输入数字A:"))
    # 定义一个数字b
    b = float(input("请输入数字B:"))
    # 结果计算
    r = a + b
    print("加法结果:", r)
    # 输入程序下一步标识
    flag = input("请输入程序标识(add:加法计算,quit:退出程序):")

我们通过引入一个flag字段来标志程序是继续计算,还是结束。当flag不等于’quit’时,就接收键盘输入,然后继续计算,如果flag等于’quit’就结束程序。改造完成后的运行结果:
在这里插入图片描述

改造后已经很棒啦!!!程序执行一次,只要我们程序标识输入add就可以一直计算下去!只要输入quit程序就可以结束!泰库拉!

加减乘除计算器

作为母胎就会加减乘除的你们,怎么甘心程序只会加法?这里扩展到加减乘除吧!至少让程序也达到母胎水平!

我们要实现的效果就是:
首先可以进行加法、减法、乘法和除法运算。用户可以输入相应的标识来选择进行哪种运算,然后输入两个数字进行计算。程序会根据用户输入的标识执行相应的操作,然后输出计算结果。

定义规则:

标识名称
add加法
sub减法
mul乘法
div除法
quit退出程序

直接上代码:

# 加法函数
def add(itemA, itemB):
    return itemA + itemB


# 减法函数
def sub(itemA, itemB):
    return itemA - itemB


# 乘法函数
def mul(itemA, itemB):
    return itemA * itemB


# 除法函数
def div(itemA, itemB):
    return itemA / itemB


# 定义程序标识
flag = input("请输入程序标识(add:加法,sub:减法,mul:乘法,div:除法,quit:退出程序):")
while flag != 'quit':
    # 定义一个数字a
    a = float(input("请输入数字A:"))
    # 定义一个数字b
    b = float(input("请输入数字B:"))
    # 判断计算方式
    r = "计算方式错误!"
    if flag == 'add':  # 加法
        r = add(a, b)
    elif flag == 'sub':  # 减法
        r = sub(a, b)
    elif flag == 'mul':  # 乘法
        r = mul(a, b)
    elif flag == 'div':  # 除法
        r = div(a, b)
    # 结果计算
    print("计算结果(" + flag + "):", r)
    # 输入程序下一步标识
    flag = input("请输入程序标识(add:加法,sub:减法,mul:乘法,div:除法,quit:退出程序):")

这里我们对flag的含义进行扩充,并且将加减乘除都封装成了函数方便调用!

首先定义了四个数学运算的函数(加法、减法、乘法、除法),然后进入主程序。在主程序中,用户输入一个操作标识。如果操作标识不等于 ’quit‘,继续输入两个数字,程序会执行标识相应的计算并输出结果;如果操作标识不在我们给定的范围内,会输出错误信息。用户可以通过输入 ’quit‘ 来退出程序。程序会循环运行,直到用户输入 ’quit‘ 为止。

代码执行结果如下所示:
在这里插入图片描述

来点课程作业?

加入一种新的算法!平方和!
平方和公式:[a^2 + b^2]的值!

更多实战项目可进入下方官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/917677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器中了Cylance勒索病毒,数据该怎么恢复?

近日,在市面上出现了一种名为Cylance的勒索病毒。经过云天数据恢复中心技术工程师对比分析后发现,该病毒不属于已知的任何勒索病毒家族中的成员,属于一种新型的勒索病毒,那接下来我们分析一下这种勒索病毒。 中了Cylance勒索病毒的…

AVL树Java实现

文章目录 AVL树(平衡二插搜索树)1.概念二插搜索树AVL树的基本概念 2.AVL数的实现定义AVL树AVL树的插入AVL树的旋转右单旋左单旋左右双旋右左双旋 删除元素 3. 验证AVL树4.AVL树性能分析 AVL树(平衡二插搜索树) 1.概念 二插搜索树 要想了解AVL树,就得先知道二插搜…

HIDS-wazuh 的配置和防御

目录 安装wazuh 常用内容 检测sql注入 主动响应 安装wazuh 本地测试的话建议用ova文件,直接导入虚拟机就能用了 官网:Virtual Machine (OVA) - Installation alternatives 常用内容 目录位置:/etc/ossec 配置文件&…

装箱和拆箱

1. 概念 装箱 将值类型转换成等价的引用类型 装箱的步骤 拆箱 将一个已装箱的引用类型转换为值类型,拆箱操作需要声明拆箱后转换的类型 拆箱的步骤 1)获取已装箱的对象的地址 2)将值从堆上的对象中复制到堆栈上的值变量中 2. 总结 装箱和拆箱…

表现层消息一致性处理

设计表现层返回结果的模型类, 用于后端与前端进行数据格式统一,也称为前后端数据协议 Data public class R {private Boolean flag;private Object data;private String msg;public R(){}public R(Boolean flag){this.flag flag;}public R(Boolean fla…

如何使用NLP库解析Python中的文本

Python是一种强大的面向对象的编程(object-oriented programming,OOP)语言,在人工智能领域有着广泛的用途。正是鉴于其实用性,以Google为首的大型科技公司,已经对其开发了Tensorflow等代码库,帮…

相交链表00

题目链接 相交链表 题目描述 注意点 保证 整个链式结构中不存在环函数返回结果后,链表必须 保持其原始结构如果 listA 和 listB 没有交点,intersectVal 为 0 解答思路 两个链表从头开始遍历,如果其是在同一个位置处相交,则在…

(AcWing)没有上司的舞会

Ural 大学有 NN 名职员,编号为 1∼N。 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。 每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。 现在要召开一场周年庆宴会,不过,没有职…

智能问答FAQ的原始问答数据怎么整理?

整理智能问答FAQ的原始数据是构建一个智能问答系统的重要步骤之一。 如何整理原始问答数据以及如何将其转化为智能问答系统 1. 收集原始数据 收集原始数据是整理智能问答FAQ的第一步。可以从以下途径收集原始数据: 网络搜索:通过搜索引擎、论坛、社交…

小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)2

紧接上文 4、新建Maven项目 clean package -Dmaven.test.skiptrue 用于构建项目并跳过执行测试 拉到最后选择构建后操作 SSH server webExec command scp 192.168.77.18:/root/.jenkins/workspace/probe/psi-probe-web/target/probe.war /usr/local/tomcat/webapps/ /usr/loca…

伦敦银和伦敦金的区别

伦敦银河伦敦金并称贵金属交易市场的双璧,一般投资贵金属的投资者其实不是交易伦敦金就是交易伦敦银。相信经过一段时间的学习和投资,不少投资者都能分辨二者的区别。下面我们就来谈谈伦敦银和伦敦金有什么异同,他们在投资上是否有差别。 交易…

股票预测和使用LSTM(长期-短期-记忆)的预测

一、说明 准确预测股市走势长期以来一直是投资者和交易员难以实现的目标。虽然多年来出现了无数的策略和模型,但有一种方法最近因其能够捕获历史数据中的复杂模式和依赖关系而获得了显着的关注:长短期记忆(LSTM)。利用深度学习的力…

Android初学之android studio运行java/kotlin程序

第一步骤:File—>New—>New Module,然后弹出一个框,(左边)选择Java or Kotlin Library,(右边)编辑自己的图书馆名、包名、类名,选择Java一个语言,然后F…

分享漂亮electerm主题

Electerm 字体建议设置为:Consolas 和 Microsoft YaHei UI 主题配置如下: themeNameNice main-dark#171717 main-light#2E3338 text#ddd text-light#fff text-dark#888 text-disabled#777 primary#CACACA info#FFD166 success#06D6A0 error#EF476F wa…

Unity shader 入门之渲染管线一、总览

如下示意图 应用阶段(ApplicationStage):准备场景信息(视景体,摄像机参数)、粗粒度剔除、定义每个模型的渲染命令(材质,shader)——由开发者定义,不做讨论。几何阶段(GemetryStage)&…

星戈瑞分析FITC-PEG-Alkyne的荧光特性和光谱特性

​欢迎来到星戈瑞荧光stargraydye!小编带您盘点: FITC-PEG-Alkyne的荧光特性和光谱特性是对其荧光性能进行分析的方面。以下是FITC-PEG-Alkyne的一些常见荧光特性和光谱特性: **1. 荧光激发波长:**FITC-PEG-Alkyne的荧光激发波长通…

【校招VIP】java语言考点之分代垃圾回收

考点介绍: JVM垃圾回收是面试里绕不开的考点,尤其是分代回收算法,集各种普通垃圾回收于一身,成为垃圾回收之王。但是也造成多个阶段的GC的不同,需要从对象的大小和使用频度等角度去考虑每个阶段的算法选择和造成的问题…

Docker 微服务实战

1. 通过IDEA新建一个普通微服务模块 1.1 建Module docker_boot 1.2 改写pom <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&…

OpenHarmony应用实现二维码扫码识别

本文转载自《OpenHarmony应用实现二维码扫码识别》&#xff0c;作者zhushangyuan_ 概念介绍 二维码的应用场景非常广泛&#xff0c;在购物应用中&#xff0c;消费者可以直接扫描商品二维码&#xff0c;浏览并购买产品&#xff0c;如图是购物应用的扫描二维码的页面。 本文就以橘…

TUME儿童毛毯上架亚马逊做CPC认证测试

毛毯(英文Blanket)&#xff0c;是一种常用的床上用品&#xff0c;具有保暖功能&#xff0c;与被子相比较薄。其原料多采用动物纤维&#xff08;如羊毛、马海毛、兔毛、羊绒、驼绒、牦牛绒&#xff09;或腈纶、粘胶纤维等化学纤维&#xff0c;也有的是动物纤维与化纤混纺制成的。…