百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana加法

csdh11 2025-04-07 13:20 22 浏览


回忆上次内容

  • 上次直接从模块中导入变量、函数
    • from my_file import pi
      • 导入my_file.pi
      • 并作为 pi 使用
    • from my_file import pi as my_pi
      • 导入变量 并 重命名

  • 想写个 实用点儿的程序??

提问

  • 想要输入苹果和香蕉的数量
    • 再求和

quantity = input("请输入苹果的数量:")
print(f"苹果的数量为:{quantity}")
  • 这里用了一个f-string的方式显示quantity

目标达成

  • 结果

  • 想要两个水果求和

再提问

  • 生成代码
apple_quantity = input("请输入苹果的数量:")
banana_quantity = input("请输入香蕉的数量:")
try:
    total = int(apple_quantity) + int(banana_quantity)
    print(f"苹果和香蕉的总数为:{total}")
except ValueError:
    print("输入的不是有效的整数。")
  • 尝试运行

运行结果

  • 看点
  • 蛇形命名法
  • 类型转化
  • 异常处理

  • 全都顺利完成

  • 我希望苹果数量输入出错后
    • 立刻报错
    • 不要再输入香蕉数量了

代码优化

try:
    apple_quantity = int(input("请输入苹果的数量:"))
    banana_quantity = int(input("请输入香蕉的数量:"))
    total = apple_quantity + banana_quantity
    print(f"苹果和香蕉的总数为:{total}")
except ValueError:
    print("输入的不是有效的整数。")
  • 遇到苹果数据有问题
    • 立刻报错

  • 类型从str转成int
    • 再从int输出到标准输出流
    • 也是 python之禅 里面的一句话
    • Explicit is better than implicit
  • 怎么理解呢?

plicare

  • plicare是
    • 拉丁语词根折叠

explicit

  • ex往外折叠
    • explicit

  • 展开了
  • 掰开了
  • 揉碎了
  • 细说清楚了

implicit

  • im往里折叠
    • implicit

  • 折叠了
  • 遮盖了
  • 掩藏了
  • 暗示了

对比

  • Explicit is better than implicit

  • 明了胜于晦涩

"1" + 2

  • "1" + 2
    • 报错了

  • 字符串加法
    • 不接受 隐式的 类型转化
    • 后面的操作数必须得是字符串
  • 如果 要用整数加法 就要把前面
    • 显示地 转化 为 整数类型
  • 明了 胜于 晦涩
    • Explicit is better than implicit
    • 这句话确实
    • 真有禅机
  • 这 python之禅 还说了些什么?
    • 这些禅语 都是谁写的呢?

python 之禅

  • python之禅 是 Tim Peters写的

  • 在游乐场
    • import this

翻译

原文

译文

指向

Beautiful is better than ugly

优美胜于丑陋

要优美

Explicit is better than implicit

明了胜于晦涩

明了

Simple is better than complex

简洁胜于复杂

简洁

Complex is better than complicated

复杂胜于凌乱

若复杂不可避免
保持接口简洁

Flat is better than nested

扁平胜于嵌套

扁平的
不要太多嵌套

Sparse is better than dense

间隔胜于紧凑

适当间隔
不奢望一行解决

Readability counts

可读性很重要

可读才是好代码

Special cases aren't special enough to break the rules

不可违背规则

规则重要

Although practicality beats purity

虽然实践性胜过纯洁性

实践很重要

Errors should never pass silently

错误必须处理

不放过异常
不写 except:pass

Unless explicitly silenced

除非明确保持沉默

除非故意

In the face of ambiguity, refuse the temptation to guess

不要让人猜测

明确

There should be one-- and preferably only one --obvious way to do it

找最好的解决方案

精益求精

Although that way may not be obvious at first unless you're Dutch

虽然这并不容易
因为你不是 Python 之父

这里的 Dutch 是指 Guido

Now is better than never

做也许好过不做

实践出真知

Although never is often better than right now

但不假思索就动手还不如不做

谋定而后动

If the implementation is hard to explain, it's a bad idea

如果你无法向人描述你的方案
那肯定不是一个好方案

好方法用容易描述

If the implementation is easy to explain, it may be a good idea

容易解释,就是好的

说得清 才理解得透彻

Namespaces are one honking great idea -- let's do more of those!

命名空间是一种绝妙的理念
我们应当多加利用

多用名字空间

总结

  • 这次我们编写了一个加法运算程序
  • 明了 胜于 晦涩
    • explicit is better than implicit
    • 指的是变量类型 要明了

  • 难道还有变量类型晦涩的情况??
  • 我们下次再说
  • 蓝桥->https://www.lanqiao.cn/courses/3584
  • github->https://github.com/overmind1980/oeasy-python-tutorial
  • gitee->https://gitee.com/overmind1980/oeasypython

相关推荐

NUS邵林团队发布DexSinGrasp基于强化学习实现物体分离与抓取统一

本文的作者均来自新加坡国立大学LinSLab。本文的共同第一作者为新加坡国立大学实习生许立昕和博士生刘子轩,主要研究方向为机器人学习和灵巧操纵,其余作者分别为硕士生桂哲玮、实习生郭京翔、江泽宇以及...

「PLC进阶」如何通过编写SCL语言程序实现物料分拣?

01、前言SCL作为IEC61131-3编程语言的一种,由于其高级语言的特性,特别适合复杂运算、复杂数学函数应用的场合。本文以FactoryIO软件中的物料分拣案例作为硬件基础,介绍如何通过SCL来实...

zk源码—5.请求的处理过程一(http1.1请求方法)

大纲1.服务器的请求处理链...

自己动手从0开始实现一个分布式 RPC 框架

前言为什么要自己写一个RPC框架,我觉得从个人成长上说,如果一个程序员能清楚的了解RPC框架所具备的要素,掌握RPC框架中涉及的服务注册发现、负载均衡、序列化协议、RPC通信协议、Socket通信、异...

MLSys’25 | 极低内存消耗:用SGD的内存成本实现AdamW的优化性能

AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,...

线程池误用导致系统假死(线程池会自动销毁吗)

背景介绍在项目中,为了提高系统性能使用了RxJava实现异步方案,其中异步线程池是自建的。但是当QPS稍微增大之后却发现系统假死、无响应和返回,调用方出现大量超时现象。但是通过监控发现,系统线程数正常...

大型乘用车工厂布局规划(六大乘用车基地)

乘用车工厂的布局规划直接影响生产效率、物流成本、安全性和未来扩展能力。合理的布局应确保生产流程顺畅、物流高效、资源优化,并符合现代化智能制造和绿色工厂的要求。以下是详细的工厂布局规划要点:1.工厂布...

西门子 S7-200 SMART PLC 连接Factory IO的方法

有很多同学不清楚如何西门子200smart如何连接FactoryIO,本教程为您提供了如何使用西门子S7-200SMARTPLC连接FactoryIO的说明。设置PC和PLC之间的...

西门子博图高级仿真软件的应用(西门子博途软件仿真)

1.博图高级仿真软件(S7-PLCSIMAdvancedV2.0)S7-PLCSIMAdvancedV2.0包含大量仿真功能,通过创建虚拟控制器对S7-1500和ET200SP控制器进行仿真...

PLC编程必踩的6大坑——请对号入座,评论区见

一、缺乏整体规划:面条式代码问题实例:某快递分拣线项目初期未做流程图设计,工程师直接开始编写传送带控制程序。后期增加质检模块时发现I/O地址冲突,电机启停逻辑与传感器信号出现3处死循环,导致项目延期2...

统信UOS无需开发者模式安装软件包
统信UOS无需开发者模式安装软件包

原文链接:统信UOS无需开发者模式安装软件包...

2025-05-05 14:55 csdh11

100个Java工具类之76:数据指纹DigestUtils

为了提高数据安全性,保证数据的完整性和真实性,DigestUtils应运而生。正确恰当地使用DigestUtils的加密算法,可以实现数据的脱敏,防止数据泄露或篡改。...

麒麟KYLINIOS软件仓库搭建02-软件仓库添加新的软件包

#秋日生活打卡季#原文链接:...

Java常用工具类技术文档(java中工具类的作用)

一、概述Java工具类(UtilityClasses)是封装了通用功能的静态方法集合,能够简化代码、提高开发效率。本文整理Java原生及常用第三方库(如ApacheCommons、GoogleG...

软路由的用法(自动追剧配置)(软路由教学)

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:值友98958248861环境和需求...