少儿编程Python第4课for循环语

北京中科白癜风医院 https://wapjbk.39.net/yiyuanzaixian/bjzkbdfyy/jzpj/

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

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

for循环的语法格式如下:

for迭代变量in字符串

列表

元组

字典

集合:代码块

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

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

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

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

用for循环实现1~求和sum=0forxinrange():sum+=xprint(sum)

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

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

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

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

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

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

本课程用的都是Python3.x。

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

sum=0forxinrange(2,,2):sum+=xprint(sum)

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

实例3:九九乘法表

foriinrange(1,10):forjinrange(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对,因此要声明两个变量forkey,valueinmy_dict.items():print(key:,key)print(value:,value)print(-------------)#通过keys()方法遍历所有keyforkeyinmy_dict.keys():print(key:,key)#在通过key获取valueprint(value:,my_dict[key])print(-------------)#通过values()方法遍历所有valueforvalueinmy_dict.values():print(value:,value)

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

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

质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。在汽车变速箱齿轮的设计上,相邻的两个大小齿轮齿数设计成质数,以增加两齿轮内两个相同的齿相遇啮合次数的最小公倍数,可增强耐用度减少故障。在害虫的生物生长周期与杀虫剂使用之间的关系上,杀虫剂的质数次数的使用也得到了证明。实验表明,质数次数地使用杀虫剂是最合理的:都是使用在害虫繁殖的高潮期,而且害虫很难产生抗药性。以质数形式无规律变化的导弹和鱼雷可以使敌人不易拦截。多数生物的生命周期也是质数(单位为年),这样可以最大程度地减少碰见天敌的机会。那如何利用for循环判断一个数字是不是质数呢?

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

frommathimportsqrtnum=int(input(请输入一个正整数:))end=int(sqrt(num))is_prime=Trueforxinrange(2,end+1):ifnum%x==0:is_prime=Falsebreakifis_primeandnum!=1:print(%d是质数%num)else:print(%d不是质数%num)



转载请注明地址:http://www.shiquanren.net/hzzz/hzzz/27237.html


  • 上一篇文章:
  • 下一篇文章: 没有了
  • 公司简介 广告合作 发布优势 服务条款 隐私保护 网站地图 版权声明