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

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

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


回忆上次内容

  • 上次直接从模块中导入变量、函数
    • 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

相关推荐

[oeasy]python0110 屏幕点阵字体_3x5_5x7_雅达利字库

回忆上次内容上次回顾了字符字型的进化过程从谷腾堡活字印刷中的...

oeasy教您玩转vim - 29 - # 垂直翻页

垂直翻页回忆上节课内容...

[oeasy]python071_自己做一个模块吗_自定义模块_引入模块_import

导入import回忆上次内容...

[oeasy]python0129_unicode中文字符序号十三道大辙_字符编码解码

unicode中文字符分类回忆上次内容字符集从博多码到...

[oeasy]python0082_VT100_演化_颜色设置_VT选项_基础色_高亮色_

更多颜色回忆上次内容上次了解了控制序列背后的故事一切标准都是从无到有的就连负责标准的组织也是从无到有的...

「oeasy」python0010 - python虚拟机解释执行py文件的原理

解释运行程序回忆上次内容我们这次设置了断点...

[oeasy]python0137_相加运算_python之禅_import_this_显式转化

变量类型相加运算回忆上次内容上次讲了是从键盘输入变量input函数可以有提示字符串需要有具体的变量接收输入的字符串...

python代码是如何执行的?(python 代码运行)

解释运行程序回忆上次内容py文件的程序是按照顺序一行行挨排解释执行的我们可以python3-mpdbhello.py来对程序调试...

[oeasy]python0145_版本控制_git_备份还原

git版本控制回忆上次内容上次我们了解了try的完全体try尝试运行...

[oeasy]python072_名字空间是怎么玩的_from_import_as_导入

名字空间是怎么玩的_from_import_as_导入_namespace回忆上次内容...

[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder

如何导入模块_导入模块的作用_hello_dunder_双下划线回忆上次内容...

「oeasy」python0020换行字符_feed_line_lf_反斜杠n_B语言_安徒生

换行字符回忆上次内容struct包可以让我们使用封包格式...

[oeasy]python0115_西里尔字符集_Cyrillic_俄文字符编码_KOI

各语言字符编码回忆上次内容上次回顾了非ascii的拉丁字符编码的进化过程0-127是ascii的领域...

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

回忆上次内容上次直接从模块中导入变量、函数...

[oeasy]python049_帮助手册_pydoc_manual_document

帮助手册回忆上次内容上次了解了注释注释是为了让程序更可读注释不会影响程序运行速度...