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判断操作系统类型代码分享
Nov 22 Python
Python随机生成彩票号码的方法
Mar 05 Python
Python中的urllib模块使用详解
Jul 07 Python
Python for Informatics 第11章之正则表达式(二)
Apr 21 Python
python使用pyqt写带界面工具的示例代码
Oct 23 Python
对python中raw_input()和input()的用法详解
Apr 22 Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
Python 的AES加密与解密实现
Jul 09 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
Jan 08 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
May 08 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操作SVN版本服务器类代码
2011/11/27 PHP
php中的常用魔术方法总结
2013/08/02 PHP
PHP解析RSS的方法
2015/03/05 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
jQuery 处理表单元素的代码
2010/02/15 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
微信小程序修改swiper默认指示器样式的实例代码
2018/07/18 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
wxpython 学习笔记 第一天
2009/02/09 Python
跟老齐学Python之数据类型总结
2014/09/24 Python
Python中的引用知识点总结
2019/05/20 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
小学生环保倡议书
2014/05/15 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
写字楼租赁意向书
2014/07/30 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
家长给老师的感谢信
2015/01/20 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
Go语言grpc和protobuf
2022/04/13 Golang
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang