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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
python传递参数方式小结
Apr 17 Python
Python处理PDF及生成多层PDF实例代码
Apr 24 Python
Python中index()和seek()的用法(详解)
Apr 27 Python
Python批量发送post请求的实现代码
May 05 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
Mar 29 Python
Python编写打字训练小程序
Sep 26 Python
使用Python的Turtle绘制哆啦A梦实例
Nov 21 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
Feb 07 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
django学习之ajax post传参的2种格式实例
May 14 Python
Python几种酷炫的进度条的方式
Apr 11 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
NOT NULL 和NULL
2007/01/15 PHP
IIS6的PHP最佳配置方法
2007/03/19 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php程序内部post数据的方法
2015/03/31 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
岳父生日宴会答谢词
2014/01/13 职场文书
社保委托书怎么写
2014/08/02 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
祖国在我心中演讲稿200字
2014/08/28 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
聊聊redis-dump工具安装问题
2022/01/18 Redis
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python