Python turtle,比Pygame更加简洁的实现(二)
- 2018/11/7 17:31:08
- 类型:原创
- 来源:电脑报
- 报纸编辑:电脑报
- 作者:
【电脑报在线】Scratch算法练习
Scratch算法练习
一、列表逆序
题目:将一个列表数据逆序,如[1、2、3、4、5、6、7、8、9、10]逆序后[10、9、8、7、6、5、4、3、2、1]。
分析:将列表数据前后对称进行交换,即第一项与最后一项交换,第二项与倒数第二项交换,以此类推,总共交换列表项数/2次。
如题,列表总共有n=10项,第1项与第10项交换,第2项与第9项交换,第3项与第8项交换……总结规律为:重复执行,将第i项与第n+1-i项交换,见下图。
二、找素数
题目:找出100以内的素数(2-99)。
质数又称素数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
思路:从2开始依次判断每个数是不是素数,如果是的话就加入到列表里。难点在于如何判断一个数是不是素数,根据素数的定义,需要使用重复执行,只要能被1和自身之外的数整除(余数=0),那么就不是素数,停止本次循环,然后去判断下一个自然数是不是素数。
1.添加变量num表示100以内的自然数,从2开始,依次递增,挨个判断是否为素数
2.添加变量i作为除数(取值为2到num)用来判断是否为素数
3.添加变量“是否为素数”标记num是否是素数(初识默认这个数是素数,通过重复执行除以i,如果被整除那么就改变值为0,即不是素数,停止本次重复执行)
4.如何停止本次重复执行?通过修改变量的值,使重复执行结束的条件成立,这样就可以减少不必要的计算次数。
5.每个自然数num重复执行除法判断结束后根据变量“是否为素数”来确定最终结果,如果等于1,那么就是素数,将该数添加进列表。
本文出自2018-11-05出版的《电脑报》2018年第43期 A.新闻周刊
(网站编辑:PCW-hjz)
读者活动
48小时点击排行
编辑推荐
论坛热帖
网站地图 | 版权声明 | 业务合作 | 友情链接 | 关于我们 | 招聘信息
报纸客服电话:4006677866 报纸客服信箱:pcw-advice@vip.sin*.c*m 友情链接与合作:987349267(QQ) 广告与活动:675009(QQ) 网站联系信箱:cpcw@cpcw*.c*m
Copyright © 2006-2011 电脑报官方网站 版权所有 渝ICP备10009040号
报纸客服电话:4006677866 报纸客服信箱:pcw-advice@vip.sin*.c*m 友情链接与合作:987349267(QQ) 广告与活动:675009(QQ) 网站联系信箱:cpcw@cpcw*.c*m
Copyright © 2006-2011 电脑报官方网站 版权所有 渝ICP备10009040号