小猿圈python之排序练习

雾桩装饰
• 阅读 397

排序在哪门语言都很普遍,今天分享一个经典的排序练习题的解法,用常规解法和简单解法说这个排序练习,感兴趣的同学来看一下,小猿圈加加详细给你说来。

问题:输入三个整数x,y,z,请把这三个数由小到大输出。

程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

解法一:sort()方法

代码:

l = []

for i in range(3):

    x = int(raw_input('int:\n'))

    l.append(x)

l.sort()

print l

结果:

int:

5

int:

4

int:

9

[4, 5, 9]

解法二:利用冒泡排序解

冒泡排序

a = [int(i) for i in raw_input("请输入:").split()]

m = len(a)

while m!=1:

    for i in range(m-1):

        if a[i]>a[i+1]:

            a[i],a[i+1]=a[i+1],a[i]

    m -= 1

print a

刚开始学python的同学,建议一定自己用第二种方法练习这道题,第二种方法才能真正锻炼你的思维逻辑能力,第一种适合很熟悉、很了解python,用这种方法简单优雅,适合偷懒,对练习感兴趣的朋友,去小猿圈可以练习一下其他方面的,让我们在众多方法中找到适合自己的那个练习方法吧。

点赞
收藏
评论区
推荐文章
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
22 22
4年前
【排序算法动画解】排序介绍及冒泡排序
本文为系列专题的第12篇文章。1.2.3.4.5.6.7.8.9.10.11.本文先简单介绍一下什么是排序,然后再结合动画介绍暴力排序和冒泡排序。1.什么是排序?排序在日常生活中无处不在。比如考试成绩的排名、体育课的从低到高的队形、网购时按价格升序排列或降序排列等等。|姓名|学号|班级|成绩|||||
22 22
4年前
【排序算法动画解】简单选择排序
本文为系列专题的第13篇文章。1.2.3.4.5.6.7.8.9.10.11.12.在文章【】中,我们介绍了暴力排序和冒泡排序这两种排序算法,算是一个引子。同时指出暴力排序和冒泡排序的缺点硬伤。本文介绍的简单选择排序则“医治”了上面提到的暴力排序和冒泡排序的“硬伤”。核心思想:从数组的第一个元素开始,将其作为基准元素,然后找出基准
威尔we 威尔we
4年前
golang 之快速排序
1、快速排序稳定性快速排序是不稳定的算法,它不满足稳定算法的定义。算法稳定性假设在数列中存在aiaj,若在排序之前,ai在aj前面;并且排序之后,ai仍然在aj前面。则这个排序算法是稳定的!2、快速排序
22 22
4年前
【排序算法动画解】直接插入排序
本文为系列专题的第14篇文章。1.2.3.4.5.6.7.8.9.10.11.12.13.前面介绍了已经介绍了三种排序,暴力排序、冒泡排序和简单选择排序,一个共同点都是基于交换。我们可以用另一种视角来看待排序,即将一个待排序的数组看成两个部分:有序区和乱序区。在排序开始前,整个数组都是乱序区,而有序区则为空:排序开始后,有序区
Stella981 Stella981
4年前
Python打牢基础练习练习题 + 答案
Python打牢基础练习练习题答案练习题(持续更新中)练习答案练习题(持续更新中)1、打印1000之内的三位数“水仙花数”,“水仙花数”是指组成这个数的每一位数的立方和等于其数,称为”水仙花数”例:153是一个水仙花数,1531_1_15_5_53_3_32、
Stella981 Stella981
4年前
OrderBy和OrderByDescending排序
昨天有练习对数字阵列进行排序,《C阵列Array排序(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Finsus%2Fp%2F10825174.html)》https://www.cnblogs.com/insus/p/10825174.html
Wesley13 Wesley13
4年前
ASCII 码从小到大排序
        今天调用接口的时候,人家的接口规定得按照ASCII的排序方式,对参数进行排序,然后把排好序的参数按照keyvalue键值对的方式进行加密验证,接下来就给大家分享下这个排序工具类ASCIISortUtil.javapublicclassASCIISortUtil{/
Stella981 Stella981
4年前
C++:写注释也能影响代码的运行结果??????I was shocked!
最近在复习CPrimer,做第10章的练习10.9时碰见一个诡异的小问题,也算是一个比较难踩的坑吧,这里记录一下。先简单介绍下这个题目,以及解法:这个题目就是要给一个std::vector中的元素去重。首先调用标准库中的sort算法按照字典来排序。然后调用标准库中的unique算法去除相邻重复的元素,但是算法并不会修
Stella981 Stella981
4年前
Lua 排序算法
冒泡排序(BubbleSort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法步骤1.有一个长度为n
深度学习 深度学习
7个月前
双指针法解决力扣922题:按奇偶排序数组II的完整指南
一、问题理解题目要求将一个重新,使得:1.所有偶数位于偶数位置(索引0,2,4...)1.所有奇数位于奇数索引位置(索引1,3,5...)1.不要求数字本身的排序,只需满足奇偶位置正确二、解法思路采用,分别维护两个:even指针:负责扫描偶数索引位置odd
雾桩装饰
雾桩装饰
Lv1
在奋斗中释放青春激情,在奉献中追逐青春理想。
文章
2
粉丝
0
获赞
0