少儿编程Python第4课-for循环语句(质数判断)

我们要实现一个每隔1秒中在屏幕上打印一次“hello, world”;并持续打印一个小时的程序,我们肯定不能够直接把`print(‘hello, world’)`这句代码写3600遍,如果真的要这样做,那么编程的工作就太无聊乏味了。因此,我们还需要了解一下循环结构,有了循环结构我们就可以轻松的控制某件事或者某些事重复、重复、再重复的去执行。

Python 中的循环语句有 2 种,上一课我们已经对 while 做了详细的讲解,本节给大家介绍 for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

for 循环的语法格式如下:

for 迭代变量 in 字符串|列表|元组|字典|集合:

代码块

格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值;代码块指的是具有相同缩进格式的多行代码(和 while 一样),由于和循环结构联用,因此代码块又称为循环体。

for 循环语句的执行流程如图 1 所示。

for循环的语法格式很容易理解,主要有三种类型,分为数值循环、遍历列表和元组、遍历字典。我们通过几个实例来熟悉它的用法。

实例1:计算1~100求和的结果

如果明确的知道循环执行的次数或者要对一个容器进行迭代(后面会讲到),那么我们推荐使用`for-in`循环,例如下面代码中计算1~100求和的结果。

用for循环实现1~100求和

sum = 0

for x in range(101):

sum += x

print(sum)


需要说明的是上面代码中的`range(101)`可以用来构造一个从0到100的取值范围,这样就可以构造出一个整数的序列并用于循环中,例如:

– `range(101)`可以产生一个0到100的整数序列。

– `range(1, 100)`可以产生一个1到99的整数序列。

– `range(1, 100, 2)`可以产生一个1到99的奇数序列,其中2是步长,即数值序列的增量。

知道了这一点,我们举一反三,来实现1~100之间的偶数求和。

ps:在 Python 2.x 中,除提供 range() 函数外,还提供了一个 xrange() 函数,它可以解决 range() 函数不经意间耗掉所有可用内存的问题。但在 Python 3.x 中,已经将 xrange() 更名为 range() 函数,并删除了老的 xrange() 函数。

本课程用的都是Python 3.x 。

实例2:实现1~100之间的偶数求和

sum = 0

for x in range(2, 101, 2):

sum += x

print(sum)

循环结构是可以嵌套的,也就是说在循环中还可以构造循环结构。下面的例子演示了如何通过嵌套的循环来输出一个九九乘法表。

实例3:九九乘法表

少儿编程Python第4课-for循环语句(质数判断)_第1张图片

for i in range(1, 10):

for j in range(1, i + 1):

print(‘%d*%d=%d’ % (i, j, i * j), end=’\t’)

print()

使用 for 循环遍历字典其实也是通过遍历普通列表来实现的。字典包含了如下三个方法:

items():返回字典中所有 key-value 对的列表。

keys():返回字典中所有 key 的列表。

values():返回字典中所有 value 的列表。

因此,如果要遍历字典,完全可以先调用字典的上面三个方法之一来获取字典的所有 key-value 对、所有 key、所有 value,再进行遍历。如下程序示范了使用 for 循环来遍历字典:

实例4:输出小明的考试成绩:my_dict ={‘语文’:89,’数学’:92,’英语’:80}

my_dict ={‘语文’:89,’数学’:92,’英语’:80}

# 通过items()方法遍历所有key-value对

# 由于items方法返回的列表元素是key-value对,因此要声明两个变量

for key, value in my_dict.items():

print(‘key:’, key)

print(‘value:’, value)

print(‘————-‘)

# 通过keys()方法遍历所有key

for key in my_dict.keys():

print(‘key:’, key)

# 在通过key获取value

print(‘value:’, my_dict[key])

print(‘————-‘)

# 通过values()方法遍历所有value

for value in my_dict.values():

print(‘value:’, value)

数学界,质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

质数在实际生活中的应用很广泛:

质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。

在汽车变速箱齿轮的设计上,相邻的两个大小齿轮齿数设计成质数,以增加两齿轮内两个相同的齿相遇啮合次数的最小公倍数,可增强耐用度减少故障。

在害虫的生物生长周期与杀虫剂使用之间的关系上,杀虫剂的质数次数的使用也得到了证明。实验表明,质数次数地使用杀虫剂是最合理的:都是使用在害虫繁殖的高潮期,而且害虫很难产生抗药性。

以质数形式无规律变化的导弹和鱼雷可以使敌人不易拦截。

多数生物的生命周期也是质数(单位为年),这样可以最大程度地减少碰见天敌的机会。

那如何利用for循环判断一个数字是不是质数呢?

实例5:随机输入一个正整数判断是不是质数。

少儿编程Python第4课-for循环语句(质数判断)_第2张图片

from math import sqrt

num = int(input(‘请输入一个正整数: ‘))

end = int(sqrt(num))

is_prime = True

for x in range(2, end + 1):

if num % x == 0:

is_prime = False

break

if is_prime and num != 1:

print(‘%d是质数’ % num)

else:

print(‘%d不是质数’ % num)


关注小程序“空手之道”(搜索:4buy)

少儿编程Python第4课-for循环语句(质数判断)_第3张图片


关注公众号“K12少儿编程”


少儿编程Python第4课-for循环语句(质数判断)_第4张图片

你可能感兴趣的:(少儿编程Python第4课-for循环语句(质数判断))