Python编程学习之如何判断3个数的大小

yipeiwu_com6年前Python基础

前言

大部分初学编程的人来说刚开始都会练习判断两个数或者三个数的大小,来熟悉某种语言的特性和最基本的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读写/追加excel文件Demo分享

三个工具包 python操作excel的三个工具包如下,注意,只能操作.xls,不能操作.xlsx。 • xlrd: 对excel进行读相关操作 • xlwt:...

Python图像滤波处理操作示例【基于ImageFilter类】

Python图像滤波处理操作示例【基于ImageFilter类】

本文实例讲述了Python图像滤波处理操作。分享给大家供大家参考,具体如下: 在图像处理中,经常需要对图像进行平滑、锐化、边界增强等滤波处理。在使用PIL图像处理库时,我们通过Image...

全面了解django的缓存机制及使用方法

全面了解django的缓存机制及使用方法

一、缓存目的 1、减小过载 2、避免重复计算 3、提高系统性能 二、如何进行缓存 三、缓存类型 四、缓存粒度分类 五、缓存的设置与使用 示例一: CACHES = {  ...

Python Web框架之Django框架文件上传功能详解

Python Web框架之Django框架文件上传功能详解

本文实例讲述了Python Web框架之Django框架文件上传功能。分享给大家供大家参考,具体如下: 上传方式: - Form表单上传文件 - Ajax上传文件 - 基于form表单和...

python文件写入实例分析

本文实例讲述了python文件写入的用法。分享给大家供大家参考。具体分析如下: Python中wirte()方法把字符串写入文件,writelines()方法可以把列表中存储的内容写入文...