- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python少儿编程 基础篇公开课 优质课 适用如遇课件中视频、音频无法正常播放,请在网站联系上传者索取完整版本。如需与课件配套的教学设计、随堂练习,请与上传者联系索取。
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. 少儿编程课
神奇的排序
增强运算符/=-=*=+=a=1a/=1print(a)a=1a-=1print(a)a=1a*=1print(a)a=1a+=1print(a)
双重循环语句for 变量1 in 可迭代内容: 循环体1… for 变量2 in 可迭代内容: 循环体2…for x in range(1,10): line= for y in range(1,x+1): line += str(y)+*+str(x)+=+str(x*y)+ print(line)
排序问题
按大小顺序排列数字利用循环生成一个有5个数字的列表。2. 将数字按照从小到大的顺序排列例如:列表中的数字为: [ 83, 20, 51, 82, 55 ],排序后的数字为: [ 20, 51, 55, 82, 83 ]
按大小顺序排列数字排序需要进行多轮,在每一轮排序中都会挑选出候选数字中最大的一个,放到本轮排序所有数字的最后。
第一轮排序待排序的数字为全部5个数字,比较时采用两两比较法。两个数字中,如果左边数字大于右边数字,则两个数字互换;如果左边数字不大于右边数字,则不互换位置。第一轮第一次比较[20, 83, 51, 82, 55 ],因为左侧的83大于20,所以两者交换,此时数字顺序为:[20, 83, 51, 82, 55 ]第一轮第二次比较[20, 83, 51, 82, 55 ],因为左侧的83大于51,所以两者交换,此时数字顺序为:[20, 51, 83, 82, 55 ]第一轮第三次比较[20, 51, 83, 82, 55 ],因为左侧的83大于82,所以两者交换,此时数字顺序为:[20, 51, 82, 83, 55 ]第一轮第四次比较[20, 51, 82, 83, 55 ],因为左侧的83大于55,所以两者交换,此时数字顺序为:[20, 51, 82, 55, 83 ]
第二轮排序经过了第一轮排序后,我们已经把5个数字中最大的数字放到了最后,第二轮待排序的数字为剩下的4个数字。比较时继续采用两两比较法。第二轮第一次比较[20, 51, 82, 55, 83 ],因为左侧的20不大于51,所以两者不交换第二轮第二次比较[20, 51, 82, 55, 83 ],因为左侧的51不大于82,所以两者不交换第二轮第三次比较[20, 51, 82, 55, 83 ],因为左侧的82大于55,所以两者交换,此时数字顺序为:[20, 51, 55, 82, 83 ]
第三轮排序经过了第二轮排序后,我们已经把5个数字中最大的2个数字放到了最后,第三轮待排序的数字为剩下的3个数字。比较时继续采用两两比较法。第三轮第一次比较[20, 51, 55, 82, 83 ],因为左侧的20不大于51,所以两者不交换第三轮第二次比较[20, 51, 55, 82, 83 ],因为左侧的51不大于55,所以两者不交换
第四轮排序经过了第三轮排序后,我们已经把5个数字中最大的3个数字放到了最后,第四轮待排序的数字为剩下的2个数字。比较时继续采用两两比较法。第四轮第一次比较[20, 51, 55, 82, 83 ],因为左侧的20大于51,所以两者不交换最终,5个数字四轮比较就可以得到最终的结果[ 20, 51, 55, 82, 83 ],每一轮两两比较的次数各不相同,每一轮比较次数都在减少。
代码实现from random import randintm=[]for x in range(5): #生成有5个随机数的列表 n=randint(1,100) m.append(n)print(m) #打印生成的列表for x in range(4): #需要4轮交换 for y in range(4-x): #每轮交换的次数都在减少 if m[y]m[y+1]: #如果左侧大
您可能关注的文档
- python编程 一阶第07课 7课 while循环 课件 .pptx
- python编程 一阶第11课 排列小星星 课件 .pptx
- python编程教学 二阶第02课 神奇的“圆” 课件 .pptx
- python编程教学 二阶第05课 春联 课件 .pptx
- python编程教学 二阶第06课 新年贺卡 课件 .pptx
- python编程教学 二阶第08课 奥运五环 课件 .pptx
- python编程教学 二阶第10课 多彩同心圆 课件 .pptx
- python编程教学 二阶第11课 花蟒蛇 课件 .pptx
- python编程教学 二阶第20课 案例考题(三)课件 .pptx
- python编程教学 三阶第05课 高阶函数 课件.pptx
文档评论(0)