当前位置:首页 > 新闻资讯 > 科技生活 > 新闻
Python turtle,比Pygame更加简洁的实现(二)
  • 2018/11/7 17:31:08
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:电脑报
  • 作者:
【电脑报在线】Scratch算法练习

Scratch算法练习

一、列表逆序

题目:将一个列表数据逆序,如[12345678910]逆序后[10987654321]

分析:将列表数据前后对称进行交换,即第一项与最后一项交换,第二项与倒数第二项交换,以此类推,总共交换列表项数/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作为除数(取值为2num)用来判断是否为素数

3.添加变量“是否为素数”标记num是否是素数(初识默认这个数是素数,通过重复执行除以i,如果被整除那么就改变值为0,即不是素数,停止本次重复执行)

4.如何停止本次重复执行?通过修改变量的值,使重复执行结束的条件成立,这样就可以减少不必要的计算次数。

5.每个自然数num重复执行除法判断结束后根据变量“是否为素数”来确定最终结果,如果等于1,那么就是素数,将该数添加进列表。

 

本文出自2018-11-05出版的《电脑报》2018年第43期 A.新闻周刊
(网站编辑:PCW-hjz)


我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交
读者活动
48小时点击排行
论坛热帖