热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python3练习100题——005

继续做题~答案都会经过py3测试原题网址:http:www.runoob.compythonpython-exercise-example5.html题目:输入三个整数x,y,z,请把这

 继续做题~答案都会经过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(1, 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次(第二个循环)。


推荐阅读
  • 写在前面最近在学习爬虫,在熟悉了Python语言和BeautifulSoup4后打算下个爬虫框架试试。没想到啊,这坑太深了。。。看了看相关介绍后选择了Scrapy框架,然后兴高采烈的 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 环境准备—之—linux下安装python3和pip3
    转自上海悠悠https:www.cnblogs.comyoyoketangp10195102.html前言centos7自带有python,但是却是python2版本的 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 一json文件JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使 ... [详细]
  • 准备gitanaconda3Step1:下载安装git这里是windows下git安装:需要注意的是在这里不选择第一个,要选择第二个,在windows下也可以。然后跟着默认选择就可 ... [详细]
  • 浅谈Python3中打开文件的方式(With open)
    浅谈Python3中打开文件的方式(With open)-目录0.背景知识1.常规方式:读取文件-----open()2.推荐方式:读取文件-----WithOpen1).读取方式 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Python3+Appium安装使用教程
    一、安装我们知道selenium是桌面浏览器自动化操作工具(WebBrowserAutomation)appium是继承selenium自动化思想旨在使手机app操作也能自动化的工具(Mo ... [详细]
  • python教程分享cvtcolor函数的作用(cvtcolor函数出现未处理异常)
    在这篇文章中,我们将看到如何使用python中的opencv模块检测颜色,进入这个领域的第一步就是安装下面提到的模块。pipinstallopencv-pythonpipinsta ... [详细]
  • 关于ModuleNotFoundError: No module named 'urllib3'解决
    1.执行代码时报错错误信息:ModuleNotFoundError:Nomodulenamed'urllib3'错误截图:2.解决办法1通过如下命令安装urllib3模块:pipins ... [详细]
author-avatar
西羽易
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有