Python编程学习之如何判断3个数的大小
作者:RussellYoung 发布时间:2022-03-06 18:10:04
标签:python,判断,大小
前言
大部分初学编程的人来说刚开始都会练习判断两个数或者三个数的大小,来熟悉某种语言的特性和最基本的if,else循环,当我们学习了更高级的语法知识后,又会有不同的实现方式,比如这道练习题依次接收用户输入的3个数,排序后打印现在我们来看一下在Python中都有哪些方法来实现:
1, 采用分支结构,用最基本的if和else来实现:
a = int(input('a>>>'))
b = int(input('b>>>'))
c = int(input('c>>>'))
if a>b:
if b>c:
print('a>b>c')
else:
if a>c:
print('a>c>b')
else:
print('c>a>b')
elif a<b:
if b<c:
print('c>b>a')
else:
if c>a:
print('b>c>a')
else:
print('b>a>c')
这可能是大部分初学编程er的第一想法,但较为繁琐,由于我最近刚学到列表list,那么如果用list来实现的话方法有哪些呢
2,引入列表
nums = []
for i in range(3):
nums.append(int(input('{}; '.format(i))))
if nums[0]>nums[1]:
if nums[0]>nums[2]:
i3 = nums[0]
if nums[1] > nums[2]:
i2 = nums[1]
i1 = nums[0]
else:
i2 = nums[0]
i1 = nums[1]
else:#0<2 1<0
i3 = nums[2]
i2 = nums[0]
i1 = nums[1]
else: #[0]<[1]
if nums[0] < nums[2]:
i1 = nums[0]
if nums[1] < nums[2]:
i2 = nums[1]
i3 = nums[2]
else:#[1]>[2]
if nums[0] > nums[2]:
i2 = nums[0]
i3 = mums[2]
else:
i2 = nums[2]
i3 = mums[0]
print(i1,i2,i3)
虽然我们在这里用了list,但是逻辑上还是第一种逐个比较后再打印的思想,所以可以看到,并没有变简洁。
3,使用Max函数
nums = []
for i in range(3):
nums.append(int(input('{}: '.format(i))))
#此处不能使用for循环,不能一边迭代该列表,同时删除或者增加该列表
while True:
x = max(nums)
print(x)
nums.remove(x)
if len(nums) == 1:
print(nums[0])
break
这种方法的思路是找出最大值,打印再剔除,直到最后打印出最小值。这样的话我们就能以较少的代码来实现这一任务了。max函数和min函数是Python的内置函数,在求最大值和最小值上更快速便捷。但当我们需要比较并打印出很多的数字时,这种方法就没那么高效了。
4,用列表的sort操作来实现大小比较并打印输出
sort(key=None, reverse=False) -> None
对列表元素进行排序,就地修改,默认升序
nums = []
out = None
for i in range(3):
nums.append(int(input('{}: '.format(i))))
nums.sort()
print(nums)
这一次可以看到,代码简洁了很多,而且即便我们需要增加输入量,比较多个数据也只需要做很少的改动即可。
来源:https://www.jianshu.com/p/787db8890a8c
0
投稿
猜你喜欢
- 我的需求:手动配置X轴、Y轴、图表标题等参数自动通过Pyecharts模块生成可视化的html数据图表,并将浏览器图表展示到UI界面上。制作
- CSS3草案中定义了{opacity:来声明元素的透明度,这已经得到了大多数现代浏览器的支持,而IE则很早通过特定的私有属性filter来实
- 当你链接到应用程序以使用MySQL客户端库时,可能会遇到以mysql_开始的未定义引用错误,如下所示:/tmp/ccFKsdPa.o: 在函
- 1、基于字典的创建规划问题上篇中介绍了使用 LpVariable 对逐一定义每个决策变量,设定名称、类型和上下界,类似地对约束条件也需要逐一
- 受杰森的《Almost Looks Like Work》启发,我来展示一些病毒传播模型。需要注意的是这个模型并不反映现实情况,因此不要误以为
- 一、地理编码与逆编码地理编码与逆编码表示的是地名地址与地理坐标(经纬度)互相转换的过程。其中,将地址信息映射为地理坐标的过程称之为地理编码;
- 在 Django 网站中使用 mailgun 的邮件收发服务。1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收
- 1、cat:拼接直接合并数据2、stack拼接:与cat不同的是,stack创建了一个新的维度,在拼接的同时,给数据增加了类别。并且stac
- Javascript有没有内存泄露?如果有,如何避免?鉴于最近有好几个人问到我类似的问题,看来大家对这部分内容还没有系统的研究过,因此,打算
- 当多个事件绑定了同一个命令,那么在命令内部根据不同的事件进行处理的时候,怎么确定哪个事件发生了呢,用下面的来检测,经过测试处理tab键和al
- 在编程时你一定碰到过时间触发的事件,在VB中有timer控件,而ASP中没有,假如你要不停地查询数据库来等待一个返回结果的话,我想你一定知道
- 前言:相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。编程世界里有各种
- 如下所示:fp = open(''test2.txt','w') #打开你要写得文件test2.tx
- 本文实例讲述了JS简单实现DIV相对于浏览器固定位置不变的方法。分享给大家供大家参考,具体如下:<!DOCTYPE HTML PUBL
- location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.hre
- python-redis-lock官方文档不错的博文可参考问题背景在使用celery执行我们的异步任务时,为了提高效率,celery可以开启
- NopCommerce为了实现松耦合的框架设计目的,使用了IOC框架:Autofac。据有人测试,Autofac是性能很好的IOC工具。1、
- Microsoft Access 数据库 (.mdb) 文件大小2 G 字节。不
- 这些天,我需要全文搜索。这个区块中最酷的孩子们是Elastic Search和Sorl:他们快速,灵活,资源消耗沉重并且需要Java,这几乎
- 以下是一个类文件,下面的注解是调用类的方法注意:如果系统不支持建立Scripting.FileSystemObject对象,那么数据库压缩功