zoukankan      html  css  js  c++  java
  • python基础练习题(输入三个整数x,y,z,请把这三个数由小到大输出)

    day3

    ---------------------------------------------------------------

    实例005:三数排序

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

    分析:很常见的排序,不直接调排序函数的话,可以多写几个if,但是自己不满足,试试冒泡排序,还好写出来了

     1 list = []
     2 for i in range(1,6):
     3     list.append(int(input(f"请输入第{i}个数:")))
     4 for j in range(0,len(list)):
     5     k = 0
     6     while k<=(len(list)-j-2):
     7         if list[k] >list[k+1]:
     8             list[k+1],list[k] = list[k],list[k+1]
     9         k+=1
    10 print(list)

    个人还比较满意,哈哈哈,看看标准答案:

     1 raw = []
     2 for i in range(3):
     3     x = int(input('int%d: ' % (i)))
     4     raw.append(x)
     5 
     6 for i in range(len(raw)):
     7     for j in range(i, len(raw)):
     8         if raw[i] > raw[j]:
     9             raw[i], raw[j] = raw[j], raw[i]
    10 print(raw)

    感觉原理差不多,不过标准答案比我的易读一点,相对来说少两行,把raw[i]看成是较大的数,然后依次比较。

    最后上个调用函数的:

    1 raw2=[]
    2 for i in range(3):
    3     x=int(input('int%d: '%(i)))
    4     raw2.append(x)
    5 print(sorted(raw2))

    这直接砍掉一半的代码,编写的效率确实高,sorted(raw2)可直接对列表排序,也可直接调用raw2.sort()方法,需要注意的是raw2.sort()方法会改变原列表,而sorted()是重新生成列表,不改变原列表,所以看情况使用。

  • 相关阅读:
    java json 库之 jackson
    java 多线程
    golang slice 和 string 重用
    golang 字节对齐
    golang 并发编程之生产者消费者
    golang 设计模式之选项模式
    golang aws-sdk-go 之 s3 服务
    markdown 一个优雅的写作工具
    常见句型、用法
    hg
  • 原文地址:https://www.cnblogs.com/qgc1995/p/14775160.html
Copyright © 2011-2022 走看看