冒泡排序python例题_零基础学python 15 经典算法:冒泡排序法(课后习题答案)...
这节课我们对于冒泡排序法的课后习题进行一下解答:
回顾一下我们的题目:
上节课我们学习的冒泡排序法,是让我们的list从小到大进行排列,这次我们的任务是,请对冒泡排序法进行一定的修改,加一个参数,让它能够按照我们的定义需要进行从大到小或者从小到大的排序。返回这个排序后的list。
下面是我们需要实现的一些例子,从例子中你可以了解到第二个参数的一些定义规则。假定输入的参数没有错误等问题。
函数调用命令
返回值
bubbleSort([37,87,12,3,0],1)
[0, 3, 12, 37, 87]
bubbleSort([7,8,123,33,1],2)
[123, 33, 8, 7, 1]
bubbleSort([3411,5,32,57,521],1)
[5, 32, 57, 521, 3411]
解析:
这道题很神奇让我们比之前多加了一个参数,使得我们可以通过参数来控制返回的list是从大到小还是从小到大排列。我们可以从要实现的例子中发现丝丝端倪,那就是第二个参数如果是1的时候,返回的list就会从小到大排列,如果是2,就会从大到小排列,明白这一点之后,新定义的参数就很容易弄出来了。
我们需要对新定义的参数进行判断,是1则在判断前一个数大于后一个数的时候才交换位置,是2则在判断前一个数小于后一个数的时候才进行交换。
以下是最后的参考代码:
def bubbleSort(nums, k):
# 请修改代码成题目要求的样子
for i in range(len(nums)-1): # 这个循环负责设置冒泡排序进行的次数
for j in range(len(nums)-i-1): # j为列表下标
if k == 1:
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
elif k == 2:
if nums[j] < nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
return nums
# 测试代码
print("testing bubbleSort for ([37,87,12,3,0],1) result:" + str(bubbleSort([37,87,12,3,0],1)))
print("testing bubbleSort for ([7,8,123,33,1],2) result:" + str(bubbleSort([7,8,123,33,1],2)))
print("testing bubbleSort for ([3411,5,32,57,521],1) result:" + str(bubbleSort([3411,5,32,57,521],1)))
以下是我们的视频教程:
在线观看:
高清源文件下载:
内容已经隐藏,请注册为本站会员后查看
感谢大家的收看,我们下期再见!
冒泡排序python例题_零基础学python 15 经典算法:冒泡排序法(课后习题答案)...相关推荐
- 零基础学python张志强_零基础学Python最新章节_张志强著_掌阅小说网
1.5 Python的开发工具 Python的开发工具非常丰富,有许多强大的IDE(Integrated Development Environment)工具,如Komodo.PythonWin.Ec ...
- python自学步骤-零基础学Python应该学习哪些入门知识及学习步骤安排
众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python岗位人才缺口高达4 ...
- python语言程序设计难不难_零基础学Python编程开发难度大吗?从哪学起?
转行零基础学Python编程开发难度大吗?从哪学起? 近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大? 今天,小编就来为大家详细解读一下这个问题. ...
- c字符串中包含双引号_零基础学Python:一文看懂数字和字符串
来源:大数据DT 本文约2000字,建议阅读6分钟 数据类型是构成编程语言语法的基础.[ 导读 ]数据类型是构成编程语言语法的基础.不同的编程语言有不同的数据类型,但都具有常用的几种数据类型.Pyth ...
- python培训一般多久_零基础学python需要多久
一:明确自己的学习目标.不管我们学习什么样的知识,都要对自己的学习目标有一个明确的认识.只有这样才能朝着目标持续的前进,少走弯路,从而在学习的过程中得到提升,享受整个学习的乐趣. 二:基础的Pytho ...
- python 智能造句_[零基础学Python]正规地说一句话
小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说"饺子",对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用"饺饺"来代替,其实就是让孩子 ...
- python入门到熟练要多久_零基础学python要多久
零基础进行Python学习的话,如果选择自学,一般学习周期在一年半左右.选择进行培训的话,学习Python周期一般在五到六个月左右,不过学习的种类不同,班级不同,培训周期也是存在一定差异的. 零基础学 ...
- python语言学习零基础教学视频_零基础学Python语言CAP全套课程
零基础学Python语言CAP完整版课程目录 ├─{1}–[第1周,第一单元]Python编程之基本方法 │ ├─{1}–1.1课程内容和安排介绍 │ │ ├─(1.1.1)–课程内容和安排介绍-PP ...
- 0基础学python需要多长时间_零基础学python大概要多久
如果是自学的话,零基础学python大概要花一年到一年半的时间.每个人的资质不同.理解能力不同,所以花费的时间也不一样.建议零基础的学员报一个python培训班,这样可以有规划的系统性学习,而且花费的 ...
最新文章
- UBUNTU安装SSH和xrdp
- mysql事务怎么加排他锁_八种方法实现CSS页面底部固定 - SegmentFault 思否
- OkHttpClient源码分析(五)—— ConnectInterceptor和CallServerInterceptor
- 中国SaaS人力资源管理系统市场发展模式分析与前景深度研究报告2022年版
- 记录Pandas处理数据的两个小技巧
- Confluence 6 自定义 Decorator 模板的宏和针对高级用户
- multi source replication mysql_MySQL 5.7多源复制(Multi-Source Replication)
- [SDOI2008]Cave 洞穴勘测
- 不带头节点的链表有哪些缺点_14. 删除链表中重复的结点
- Redis源码解析(1)——源码目录介绍
- qq2006导致alt-tab切换失灵,还不知道怎么报告和解决(英文win2000)
- 常见的电子商务模式理解
- sprintf 函数
- WWW2022 | 知识提示的预训练微调
- 天气和气象数据网站集合
- SQL盲注(原理概述、分类)
- 聊聊六位半万用表电路(一)——保护
- No toolchains found in the NDK toolchains folder for ABI with prefix:XXX
- 肯德基 服务器响应异常,肯德基链接服务器异常
- Numpy下arr[2],arr[2,:],arr[2:,:]的区别
热门文章
- SAP UI5 应用开发教程之二十三 - 列表控件的排序 Sort 和分组 Group
- 使用 SAP UI5 系统测试工具 UIVeri5 的一个具体例子
- 如何把一个PDF文件内的部分页码对应的内容导出成一个新的PDF文件
- SAP CDS view如何取得当前系统日期和系统时间戳
- SAP CRM Cross Component级别的跳转如果出了问题,该如何调试
- SAP Hybris和ABAP Netweaver里的DAO(Data access object)
- SAP ERP Material如何创建附件
- SAP Hybris Commerce启用customer coupon的前提条件
- 大学毕业就进入SAP,我获得了哪些收益
- SAP云平台上的502 Bad Gateway错误