python入门到脱坑经典案例比较大小的6种经典方法
off999 2025-06-10 00:35 145 浏览 0 评论
在 Python 中比较两个数的大小是最基础的编程操作之一,以下是 6 种经典方法及其应用场景,从基础到进阶的完整指南:
1. 基础比较运算符
直接使用 >、<、== 等运算符:
a, b = 5, 3
print(a > b) # True (大于)
print(a < b) # False (小于)
print(a == b) # False (等于)
print(a != b) # True (不等于)
print(a >= b) # True (大于等于)
print(a <= b) # False (小于等于)2. 使用内置函数max()/min()
a, b = 7, 10
print(f"较大的数: {max(a, b)}") # 输出 10
print(f"较小的数: {min(a, b)}") # 输出 7适用场景:
- 快速获取较大/较小值
- 可扩展为多值比较(如 max(1, 5, 2))
3. 条件表达式(三元运算符)
a, b = 8, 6
result = "a更大" if a > b else "b更大或相等"
print(result) # 输出 "a更大"特点:
- 单行简洁判断
- 适合赋值场景
4. 链式比较(数学风格)
x = 5
print(3 < x < 7) # True (等效于 3 < x and x < 7)典型应用:
- 范围检查(如成绩分段)
- 多条件联合判断
5. 处理用户输入(带异常处理)
try:
num1 = float(input("输入第一个数字: "))
num2 = float(input("输入第二个数字: "))
if num1 > num2:
print("第一个数更大")
elif num1 < num2:
print("第二个数更大")
else:
print("两数相等")
except ValueError:
print("请输入有效数字!")关键点:
- float() 兼容整数和浮点数
- try-except 防止程序崩溃
6. 进阶:自定义对象比较
通过魔术方法实现对象比较:
class Product:
def __init__(self, name, price):
self.name = name
self.price = price
def __lt__(self, other): # 实现 < 运算符
return self.price < other.price
# 测试比较
p1 = Product("手机", 5000)
p2 = Product("耳机", 300)
print(p1 < p2) # False (比较价格)7. 特殊场景处理
浮点数精度问题
a, b = 0.1 + 0.2, 0.3
print(a == b) # False (错误方式)
print(abs(a - b) < 1e-9) # True (正确方式)字符串数字比较
num_str1, num_str2 = "123", "45"
print(int(num_str1) > int(num_str2)) # 先转为数字再比较8. 性能对比
方法 | 速度 | 适用场景 |
直接比较 | 最快 | 简单数值比较 |
max()/min() | 快 | 需获取极值 |
三元运算符 | 快 | 需要赋值结果 |
自定义比较 | 较慢 | 对象比较 |
9. 经典案例练习
- 判断奇偶数:
num = int(input("输入数字: "))
print("偶数" if num % 2 == 0 else "奇数")- 三数排序:
a, b, c = 15, 7, 22
sorted_nums = sorted((a, b, c))
print(f"从小到大: {sorted_nums}")- 绝对值比较:
x, y = -5, 3
print("x绝对值更大" if abs(x) > abs(y) else "y绝对值更大或相等")10. 常见问题解答
Q1:==和is的区别?
a = 256
b = 256
print(a == b) # True (值相等)
print(a is b) # True (Python小整数优化)
x = 257
y = 257
print(x == y) # True
print(x is y) # False (不同对象)Q2:如何比较日期?
from datetime import date
d1 = date(2023, 1, 1)
d2 = date.today()
print(d1 < d2) # TrueQ3:为什么0.1 + 0.2 != 0.3?
浮点数存储精度问题,应使用:
import math
math.isclose(0.1 + 0.2, 0.3) # True掌握数值比较后,可进一步学习:
- 列表排序(list.sort())
- 复杂条件组合(and/or)
- NumPy 数组比较
相关推荐
- 德国对日本直播在线观看(德国对日本比分)
-
女解说员是girl巴尼亚。日本2-1逆转战胜德国。世界杯小组赛E组首轮第一场比赛中,日本队2-1战胜德国队。第31分钟,劳姆在禁区内被权田修一放倒。随后京多安主罚点球命中,德国队1-0领先。整个上半场...
- 小小影视在线视频(小小影视免l)
-
原因如下:1、可能程序不兼容,可以更换个版本试试。另外建议参考下程序对配置的要求。2、或者右键需要运行的程序选择兼容性用兼容模式运行试试。3、可能是手机下载的软件没下载正确,或者手机有没有提示什么问题...
- 全能视频转换器免费版(全能mp4转换器)
-
狸窝全能视频转换器是一款常见的视频转换软件,它可以将各种视频格式相互转换,支持多种设备的视频格式转换,功能比较强大。但是,对于软件是否存在病毒这个问题,我们无法给出确切的答案,因为这取决于你从哪里下载...
- qq下载安装最新版(下载qq免费安装正版)
-
手机上下载的QQ却安装不了的原因及处理方法如下:1、原来版本QQ还在运行,可以把QQ关闭之后再重新安装。2、手机内存问题,查看手机内存还有多大的剩余空间,可以删除不常用的软件再安装QQ。3、QQ安装包...
- 下载淘宝购物网(淘宝购物下载和安装最新版)
-
捷易淘宝小号购买平台助手是一款专业的淘宝小号出售平台助手,软件全自动智能搜索你需要的淘宝小号,最安全的淘宝在线交易平台。 专业多线程快速查询你需要的淘宝小号 支持多种小号,如。淘宝邮箱小号,手...
- 免费在线影视观看网站(在线观看影视剧网址)
-
有蛮多的,茶杯狐影视,555影视,首播影院都是可以看电影的免费网址,里面有很多最新更新的电影,综艺,电视剧,动漫,可以收藏起来目前有许多观看最新电影的网站可供选择。其中一些知名的网站包括Netflix...
- 4399造梦西游3(4399造梦西游3账号)
-
在4399造梦西游三中,要进入下界需要完成一定的任务。首先,需要完成主线任务“寻找下界之门”,该任务需要完成一系列的支线任务,包括“寻找下界之钥”、“寻找下界之路”等。完成这些任务后,就可以进入下界了...
- 原来的琪琪电影在线看(原来琪琪电影在线看免费)
-
186x2=372原来多372张
- python编程软件(python编程软件怎么读)
-
学点编程是一款手机编程应用,这款软件界面漂亮,功能强大,支持多种语言,内容丰富,编程的程序员们可千万不要错过啦!应用包含一张涵盖了所有HTML5元素释义的列表,并能查看元素在内置浏览器中实现的样式...
- google play apk(Google play apk English)
-
googleplay是一款谷歌开发的、用于帮助用户加快游戏软件运转速度的软件。该软件可以快速与谷歌游戏中心连接,从而加快游戏同步数据的传输。 如果用户不需要使用该软件了,则可以尝试直接使用卸载功能卸...
- 单人枪战单机游戏(单人枪战闯关游戏)
-
有胡闹厨房,NBA2K,Knack纳克,光环战斗进化,杀手5赦免。钓鱼星球。神鬼寓言,战争机器,精灵与森林,盗贼之海,丧尸围城枪火重生,这是融合了第一人称射击、Roguelite随机元素和RPG策略...
- 三国战纪街机版下载(三国战纪街机版下载教程)
-
三国战纪单机手机版非常容易上手,可以通过以下步骤进行玩耍:容易上手。游戏的操作非常简单,只需要用手指点击屏幕即可完成。游戏同时提供了简单、普通、困难等多个难度设置,能够满足不同玩家的需求。在游戏中,玩...
- 永久免费的网盘哪个好用(百度网盘登录入口)
-
现在的网盘很多都是免费的哦,而且也很安全,我自己就在用天翼云网盘。天翼云虽然刚登陆是15G,但是现在登陆客户端就有10T的容量了,可以存很多东西了。天翼云网盘还有个挺好的功能叫做私密空间,每次登陆都要...
- 热血传奇官方正版下载(热血传奇官网下载安装)
-
1.可以通过官方网站或者应用商店下载热血传奇。2.热血传奇作为一款热门的网络游戏,开发商通常会提供官方网站或者在应用商店上架,方便玩家下载和安装。3.此外,还可以通过一些第三方游戏平台或者论坛等...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
16949认证费用是多少(16949审核员太难考了)
-
linux软件(linux软件图标)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
