Python编程学习之如何判断3个数的大小


Posted in Python onAugust 07, 2019

前言

大部分初学编程的人来说刚开始都会练习判断两个数或者三个数的大小,来熟悉某种语言的特性和最基本的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)

这一次可以看到,代码简洁了很多,而且即便我们需要增加输入量,比较多个数据也只需要做很少的改动即可。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python代码制作configure文件示例
Jul 28 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
Apr 28 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
Python脚本获取操作系统版本信息
Dec 17 Python
python一行sql太长折成多行并且有多个参数的方法
Jul 19 Python
virtualenv 指定 python 解释器的版本方法
Oct 25 Python
Python 实现子类获取父类的类成员方法
Jan 11 Python
Python中print和return的作用及区别解析
May 05 Python
Django之使用celery和NGINX生成静态页面实现性能优化
Oct 08 Python
详解Python3迁移接口变化采坑记
Oct 11 Python
Anaconda配置各版本Pytorch的实现
Aug 07 Python
Python sklearn分类决策树方法详解
Sep 23 Python
Python使用import导入本地脚本及导入模块的技巧总结
Aug 07 #Python
python可视化篇之流式数据监控的实现
Aug 07 #Python
Python+AutoIt实现界面工具开发过程详解
Aug 07 #Python
Django中的用户身份验证示例详解
Aug 07 #Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
Aug 07 #Python
Python操作远程服务器 paramiko模块详细介绍
Aug 07 #Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 #Python
You might like
自定义PHP分页函数
2006/10/09 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
Mootools 1.2教程 函数
2009/09/15 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
vue2使用keep-alive缓存多层列表页的方法
2018/09/21 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
python根据文件大小打log日志
2014/10/09 Python
python输出指定月份日历的方法
2015/04/23 Python
python 性能提升的几种方法
2016/07/15 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
我的理想演讲稿
2014/04/30 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
美术教师求职信范文
2015/03/20 职场文书
2015中秋节晚会主持词
2015/07/01 职场文书
2016入党心得体会范文
2016/01/06 职场文书
小学三年级作文之写景
2019/11/05 职场文书
深入解析Apache Hudi内核文件标记机制
2022/03/31 Servers