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计算程序开始到程序结束的运行时间和程序运行的CPU时间
Nov 28 Python
Python3.2中的字符串函数学习总结
Apr 23 Python
在Python中移动目录结构的方法
Jan 31 Python
基于hashlib模块--加密(详解)
Jun 21 Python
详细分析python3的reduce函数
Dec 05 Python
python+selenium实现简历自动刷新的示例代码
May 20 Python
python psutil模块使用方法解析
Aug 01 Python
大家都说好用的Python命令行库click的使用
Nov 07 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
python和c语言哪个更适合初学者
Jun 22 Python
python request 模块详细介绍
Nov 10 Python
浅谈Python协程asyncio
Jun 20 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 获取ip地址代码汇总
2015/07/05 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
Js 随机数产生6位数字
2010/05/13 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
2018/08/08 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
JSX在render函数中的应用详解
2019/09/04 Javascript
Vue+Element-U实现分页显示效果
2020/11/15 Javascript
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python 域名分析工具实现代码
2009/07/15 Python
python版本的仿windows计划任务工具
2018/04/30 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
AUC计算方法与Python实现代码
2020/02/28 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
简单html5代码获取地理位置
2014/03/31 HTML / CSS
内部类的定义、种类以及优点
2013/10/16 面试题
单位委托书范本
2014/04/04 职场文书
团队口号大全
2014/06/06 职场文书
买房协议书范本
2014/10/23 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
公司周年庆寄语
2019/06/21 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
5行Python代码实现一键批量扣图
2021/06/29 Python