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创建XML文档
Mar 01 Python
用python代码做configure文件
Jul 20 Python
python实现的重启关机程序实例
Aug 21 Python
Python中的zip函数使用示例
Jan 29 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
Oct 25 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
Python制作词云的方法
Jan 03 Python
Python变量类型知识点总结
Feb 18 Python
python的pstuil模块使用方法总结
Jul 26 Python
Python 用matplotlib画以时间日期为x轴的图像
Aug 06 Python
python语言的优势是什么
Jun 17 Python
DRF使用simple JWT身份验证的实现
Jan 14 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
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
ajax实现无刷新分页(php)
2010/07/18 PHP
php中动态修改ini配置
2014/10/14 PHP
PHP面向对象精要总结
2014/11/07 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
用原生js统计文本行数的简单示例
2016/08/19 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
解析js如何获取css样式
2016/12/11 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
python将时分秒转换成秒的实例
2019/12/07 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
web页面录屏实现
2019/02/12 HTML / CSS
C#面试问题
2016/07/29 面试题
总务岗位职责
2013/11/19 职场文书
取保候审保证书
2014/04/30 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python