继续做题~答案都会经过py3测试
原题网址:http://www.runoob.com/python/python-exercise-example5.html

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

我的代码:

l=[]
for i in range(3):
x=int(input("please input a number:"))
l.append(x)
l.sort()
print(l)

思考:利用了可以对列表进行排序的sort函数,如果不能用呢?——在题目下面的答案中看到了冒泡排序法,而且应该考虑针对多个整数排序。当年学C语言的时候也有学过,感觉有点绕又忘啦~还是应该再学习下!以下代码来自原题下面的评论:

  1. 首先 定义一个对list中的int冒泡比对的函数:

    def Sort(list):
    n = len(list)
    for i in range(1, n): #i可以取的值是[1,n-1] 冒泡法比较的循环就是要少一次,最后最小那个不用比就出来了
    for j in range(, n - i + 1): #取1为下限,保证j-1位,最开始从0位开始比 取n-i+1为上限,保证j能够取到n-i位
    if list[j - 1] > list[j]: #从前到后的比较:最先确定最后的值
    list[j - 1], list[j] = list[j], list[j - 1]
    print(list)
    for i in range(0, n):
    print(list[i])

    要用到两个循环,第一个是规定比对到的位数,一次循环从最末尾确定一位最大值,第二个用来两两比对。 循环到上下限有点难确定。

  2. 定义一个读入函数:
    def inputData():
    list_first = []
    while True:
    a = input("please input num:".strip()) #strip()去除输入字符前后的空格
    if len(a) == 0: #空白时停止读入的循环
    return list_first
    else:
    list_first.append(int(a))
  3. 让函数直接被调用:
    if __name__ == '__main__':
    lt = inputData()
    print("the list is:",lt)
    Sort(lt)

    用这个if语句,让这个py文件直接使用的时候,函数直接被调用;也可以作为模块中的函数被引入到别的py文件。

分析很规范的答案~学到了冒泡排序算法的思想,也更加了解了写py文件的格式:比如如何定义函数,运行文件的时候直接调用

关于冒泡排序法,根据上面的改写了一个由前向后确定由小到大数字的方式:

def sort(list):
n=len(list)
for i in range(0,n-1): #上下限差值n-1
for j in range(i,n-1)[::-1]:   #第一次循环上下限差值n-1
if list[j+1]<list[j]:
list[j+1],list[j] = list[j],list[j+1]
print(list)
for x in range(0,n):
print(list[x])

发现循环的上下标、比较的方向都不是最重要的,重要的是掌握思想:对于n个元素,比较n-1轮(第一个循环);第一轮比较n-1次,每轮-1,直到减少到1次(第二个循环)。

python3练习100题——005的更多相关文章

  1. python3练习100题——003

    今天继续-答案都会通过python3测试- 原题链接:http://www.runoob.com/python/python-exercise-example3.html 题目:一个整数,它加上100 ...

  2. python3练习100题——002

    因为特殊原因,昨天没有做题.今天继续- 原题链接:http://www.runoob.com/python/python-exercise-example2.html 题目: 企业发放的奖金根据利润提 ...

  3. python3练习100题——004

    继续做题-经过python3的测试 原题链接:http://www.runoob.com/python/python-exercise-example4.html 题目:输入某年某月某日,判断这一天是 ...

  4. python3练习100题——036

    原题链接:http://www.runoob.com/python/python-exercise-example36.html 题目:求100之内的素数. 之前有类似的题,所以这次遇到觉得很容易了, ...

  5. python3练习100题——035

    原题链接:http://www.runoob.com/python/python-exercise-example34.html 题目:文本颜色设置. 学习了一下python3 的文本颜色设置. 其实 ...

  6. python3练习100题——020

    原题链接:http://www.runoob.com/python/python-exercise-example20.html 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下 ...

  7. python3练习100题——013

    熟悉的水仙花数来了,,,... 原题链接:http://www.runoob.com/python/python-exercise-example13.html 题目:打印出所有的"水仙花数 ...

  8. python3练习100题——056

    题目:画图,学用circle画圆形. 可以用turtle.circle画图. import turtle turtle.setup(0.6,0.6) turtle.pensize(3) turtle. ...

  9. python3练习100题——050

    题目:输出一个随机数. 程序分析:使用 random 模块. import random print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数 pri ...

随机推荐

  1. 剑指offer-面试题55-二叉树的深度-递归

    /* 题目: 二叉树的深度 */ /* 思路: 根节点高度(0或1)+左子树的深度+右子树的深度 */ #include<iostream> #include<cstring> ...

  2. ie8兼容rgba写法

    ie使用filter解决半透明兼容性问题 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#19ffffff,endCo ...

  3. Selenium实战(四)——unittest单元测试3(测试用例的执行顺序)

    一.测试用例的执行顺序 层级:多个测试目录 > 多个测试文件 > 多个测试类 > 多个测试方法(测试用例).在这里以一个测试执行顺序的脚本为例test_order.py import ...

  4. STL-string用法

    #include <string> #include <iostream> #include <cstring> #include <algorithm> ...

  5. Spark学习之路 (八)SparkCore的调优之开发调优[转]

    前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...

  6. yii2 response响应配置

    response参数配置 方式一.全局配置 用于接口开发 适用:只有所有请求都是application/json类型时可用. $config = [ 'components' => [ 'res ...

  7. 作业day2

    问题一: Java类中只能有一个公有类吗?用Eclipse检测以下程序是否正确.是否在接口中同样适用. 因为公共类名必须和这个java源程序文件名相同,所以只能有一个公共类,相应的,main方法作为程 ...

  8. Tomcat目录详解

    最近在项目部署时,有时通过使用公司提供的Jdoc容器引擎部署上线项目,有时使用Jenkins自动化部署,甚至有的项目直接打war包上传到弹性云的tomcat中进行部署.虽然部署方式略有不同,但是归根结 ...

  9. Win10下安装tensorflow详细过程

    首先声明几点: 安装tensorflow是基于Python的,并且需要从Anaconda仓库中下载. 所以我们的步骤是:先下载Anaconda,再在Anaconda中安装一个Python,(你的电脑里 ...

  10. python递归删除目录本身以及目录下文件

    import os def local_rm(dirpath): if os.path.exists(dirpath): files = os.listdir(dirpath) for file in ...