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

排序最简单的就是直接调用内置函数sort()
通过input()函数获取x,y,z将他们存入列表list
然后调用list.sort()进行排序

# 输入三个整数 x,y,z,请把这三个数由小到大输出。x = input('请输入x:')
y = input('请输入y:')
z = input('请输入z:')# list = []   #先定义列表才能使用append()方法 只有列表才可以使用append方法,没声明之前解释器无法判断类型为列表,而是字符型
# list.append(x,y,z)   #append()方法只能有一个参数
list = [x,y,z]  #直接给list赋值
print('排序前:',list)list.sort()     #sort()是内置的排序函数,可以排序字符类型。 默认为升序
print('升序:',list)list.sort(reverse=True)    # 如果需要降序排列,则需要传递一个reverse=True作为参数
print('降序:',list)

因为这个题用到了排序,我就想练习一下常用的排序方法,说是练习实际上因为很久不使用已经快忘了,所以最近也看了下原理试着写了出来,
(1)冒泡排序

def BubbleSort(self):list_len = len(self)for i in range(list_len):for j in range(list_len - 1):if self[j] > self[j + 1]:self[j], self[j + 1] = self[j + 1], self[j]print('冒泡排序:', self)# BubbleSort(list)

(2)选择排序

def SelectionSort(self):list_len = len(self)for i in range(list_len):for j in range(i + 1, list_len):if self[i] > self[j]:self[i], self[j] = self[j], self[i]print('选择排序:', self)# SelectionSort(list)

(3)插入排序

def InsertionSort(self):list_len = len(self)# for i in range(list_len-1):#     for j in range(list_len):#         if self[i] < self[j] and self[i] < self[j - 1]:#             self[j], self[i] = self[i], self[j]#         elif self[j] < self[i] and self[j] > self[i - 1]:#             self[j], self[i - 1] = self[i - 1], self[j]#         else:#             breakfor i in range(list_len):  # 0-14j = ifor x in range(i):if self[j] < self[j - 1]:self[j], self[j - 1] = self[j - 1], self[j]j = j - 1while self[j] > self[j - 1] and self[j] < self[j + 1]:breakprint('插入排序:', self)# InsertionSort(list)

(4)希尔排序

def ShellSort(self):list_len = len(self)increment = list_lenwhile increment >= 2:increment = increment//2print(increment)# print(self)for j in range(increment, list_len):# print(self)print(increment)while j - increment >= 0:print(self)if self[j] < self[j - increment]:# print(self)self[j], self[j - increment] = self[j - increment], self[j]j -= incrementelse:breakprint('希尔排序:', self)# ShellSort(list)

希尔排序是一种优化的排序方法,他的时间复杂度不是O(N²),而是根据增量increment计算的

总结:我只用了四种排序方式,并且在运行定义的方法的时候要确保上一个方法注释没有被运行,不然可能会和我一样以为自己写的方法是正确的,第二次使用时候发现不正确。

我自己试着写出来的时候也参考了其他人的代码,至于原理是这个博主的,它使用的是java代码
https://blog.csdn.net/liang_gu/article/details/80627548
记得看他的这篇文章之前看一下下方的评论,文中可能有描述错误的地方,(不知道现在改了没有)。

python练习5:输入三个整数 x,y,z,请把这三个数由小到大输出。相关推荐

  1. python输入三个整数、输出最大的数_题目:使用Python编程,输入三个整数x,y,z,请把这三个数由小到大输出...

    题目:输入三个整数x,y,z,请把这三个数由小到大输出 思路:这题主要使用list.sort()的方法排列,首先要保证用户输入的数字一定是整数,如果不是整数需要提示用户输入错误,重新输入.(使用try ...

  2. JAVA输出x和y和z_JAVA实例:输入三个整数x,y,z,请把这三个数由小到大输出-吾爱编程网...

    今天为大家分享一个java经典实例输入三个整数x,y,z,请把这三个数由小到大输出,相信很多初学者都会学到这道题目,接下来吾爱编程为大家介绍一下程序的相关写法,有需要的小伙伴可以参考一下: 1.题目: ...

  3. 萌新的Python练习实例100例(五)输入三个整数x,y,z,请把这三个数由小到大输出。

    题目: 输入三个整数x,y,z,请把这三个数由小到大输出. 分析1: 两个两个数字对比,然后改变他们的顺序 x > y x,y的顺序变更为y,x x > z x,z的顺序变更为z,x y ...

  4. #python 5种方法 输入三个整数 x,y,z,请把这三个数由小到大输出。

    #python 输入三个整数 x,y,z,请把这三个数由小到大输出. 方法一 x = int(input('x:')) y = int(input('y:')) z = int(input('z:') ...

  5. C语言——实例005 输入三个整数x,y,z,请把这三个数由小到大输出。

    /*Name: Copyright: Author: Date: 27/07/17 08:44Description: [程序5]题目:输入三个整数x,y,z,请把这三个数由小到大输出.1.程序分析: ...

  6. 编写Java程序_输入三个整数x,y,z,请把这三个数由小到大输出,请写出实现代码。(3种方法)

    要求说明: 输入三个整数x,y,z,请把这三个数由小到大输出. 实现代码: 第1种方法: import java.util.Scanner;public class xyzMaxMin{public ...

  7. 输入三个整数x,y,z,请把这三个数由小到大输出(C语言函数)

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

  8. [C++]输入三个整数x,y,z,请把这三个数由小到大输出

    #include<iostream> using namespace std; //题目:输入三个整数x,y,z,请把这三个数由小到大输出. void test04() {int x, y ...

  9. 输入三个整数x,y,z,请把这三个数由大到小输出

    输入三个整数x,y,z,请把这三个数由大到小输出 x = int(input('第一个整数x:')) y = int(input('第二个整数x:')) z = int(input('第三个整数x:' ...

  10. Java_输入三个整数x,y,z,请把这三个数由小到大输出

    package cn.myAlgorithm;import java.util.Arrays; import java.util.Scanner;//输入三个整数x,y,z,请把这三个数由小到大输出 ...

最新文章

  1. 三层架构(我了解并详细分析)
  2. [CSS] 点击事件触发的动画
  3. NYOJ-----最少乘法次数
  4. 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)
  5. 别求面经了!小夕手把手教你如何斩下和选择NLP算法岗offer!(2020.4.14更新)...
  6. 太阳系其实是被造出来的!来,用视觉聆听宇宙之音!
  7. hadoop 2.5.0安装和配置
  8. Linux cat 命令用法
  9. vue前端动态分页模板(记录)
  10. 使用ACR122U和Proxmark3复制IC卡
  11. spss统计分析基础教程 SPSS统计分析从入门到精通光盘
  12. windows 安装使用luarocks
  13. ARINC615-3 与 ARINC844 PART2 协议解析 思维导图
  14. 网页导出pdf不完整_偶尔偷个懒吧:3种pdf文献全文一键翻译的方法
  15. 5G-SUPI-SUPC-IMSI
  16. 什么是GB18030,与GBK的关系?
  17. AI教父Hinton差点成为中国打工人...
  18. 三维重建 医学图像的可视化 PyQt Python VTK 四视图(横断面,冠状面,矢状面,3D)
  19. Android png转vector svg 图片
  20. ABB软件的robotstudio怎么解决仿真问题(1)

热门文章

  1. Assembly.Load
  2. 胖虎谈ImageLoader框架(四)
  3. 惠普微型计算机t628电源,HSTNS-PL18 DPS-750RB A 506822-201 750W HP服务器电源
  4. win10忘记登录账户密码怎么办
  5. win10 注册表重新设置默认打开程序
  6. sd卡视频被删怎么恢复呢?
  7. word中带圈符号如何手动输入
  8. 吾生也有涯,而知也无涯。以有涯随无涯,殆已
  9. tensorFlow基础操作及常用函数
  10. torch.nn.functional