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 18 Python
Django CBV与FBV原理及实例详解
Aug 12 Python
python中Lambda表达式详解
Nov 20 Python
python创建n行m列数组示例
Dec 02 Python
Python3爬虫中Ajax的用法
Jul 10 Python
Python csv文件记录流程代码解析
Jul 16 Python
Python常驻任务实现接收外界参数代码解析
Jul 21 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 Python
Pycharm 解决自动格式化冲突的设置操作
Jan 15 Python
学点简单的Django之第一个Django程序的实现
Feb 24 Python
Elasticsearch 批量操作
Apr 19 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 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详细彻底学习Smarty
2008/03/27 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
php防止sql注入简单分析
2015/03/18 PHP
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
python使用scrapy解析js示例
2014/01/23 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
wxpython布局的实现方法
2019/11/01 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
金融专业推荐信
2013/11/14 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
布达拉宫的导游词
2015/02/02 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
结婚十年感言
2015/07/31 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python