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制作简单的钢琴程序的教程
Apr 01 Python
Python的Django框架可适配的各种数据库介绍
Jul 15 Python
Python+Opencv识别两张相似图片
Mar 23 Python
Python使用Tkinter实现机器人走迷宫
Jan 22 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
浅谈Pandas:Series和DataFrame间的算术元素
Dec 22 Python
python3中property使用方法详解
Apr 23 Python
java判断三位数的实例讲解
Jun 10 Python
Python数据可视化实现正态分布(高斯分布)
Aug 21 Python
Python SQLAlchemy入门教程(基本用法)
Nov 11 Python
python几种常用功能实现代码实例
Dec 25 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 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批量生成图片缩略图的方法
2015/06/18 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
Bootstrap入门教程一Hello Bootstrap初识
2017/03/02 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
初步解析Python下的多进程编程
2015/04/28 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
Python银行系统实战源码
2019/10/25 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
What is EJB
2016/07/22 面试题
高等教育专业自荐信范文
2014/03/26 职场文书
销售经理竞聘书
2014/03/31 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫
全网非常详细的pytest配置文件
2022/07/15 Python