Python:注释和循环

2019-02-21  本文已影响0人  scratch少儿编程

这里     注释#”’、计数循环for和条件循环while

     01 注释符号#和”””

注释符号主要用来介绍指令的作用和意义,或者禁止某行或者某些行的指令的运行。注释符号包括单行注释和多行注释。单行注释符号是#,多行注释符号是把需要注释的代码前面加三个单引号或者双引号,后面加三个单引号或者双引号。

但问题是小朋友写的代码都很简单,基本不需要注释来解释。并且小朋友也不愿意花费时间来做这种工作。所以,加注释的习惯只能从写稍微复杂些的代码的时候开始要求。

     02 条件循环while

书上教授的顺序是先教计数循环for,然后教条件循环while。我觉得不是很合理,因为for循环中要使用到列表、range函数等概念,而while循环只需要有逻辑基础就可以了。所以,之前在循环方面,我一直要求小朋友使用的是while循环。其主要包括三点,初始化变量值,设置while循环条件和变量值变化。一个例子如下:

i=0while i<10:    程序代码体    i=i+1

另外,变量i的自加操作i+=1,我一直没教小朋友,想等到这些代码都很熟练的时候再教,免得学的多了,反而混淆了。

在之前做的练习中,使用while常容易犯的错误包括:

没有初始化

变量i没有自加1从而导致代码无限循环

while的条件没设置正确,比如<10是只会循环到9

03计数循环for

1F

列表的概念

之前给小朋友介绍过列表的概念,就像是许多小朋友拍成一队,给这一队起了一个名字。列表中的元素可以是数字、可以是字符串也可以是字符串和数字的混合。如下面的alist、blist和由两个列表连接生成的clist。

alist=[1,2,3,4,5]blist=["we","you","they"]clist=alist+blist

2F

for的基本使用方法

在有了列表的概念之后,就可以介绍for的基本使用方法了。for循环从本质上来说是使用一个变量来遍历列表中的每一个元素。就好比让一个小朋友依次走过列表中的元素一样。

Alist=[1,2,3,4,5]Blist=["we","you","they"]Clist=Alist+BlistsMax="I'm a pupil."for iin sMax:    print(i)

在这里,让小朋友把下面这句里面的sMax依次换成Alist、Blist和Clist来查看输出结果,从而加深对for循环机制的了解。

for iin sMax:

3F

用for来循环特定次数

在了解for循环的机制之后,给出的问题是如何使用for循环一定的次数。比如5次,给出的答案可能是

for iin [1,2,3,4,5]:

但是,如果需要循环100次、1000次呢?需要写成【1,2,3,…..100】吗?这时候range函数闪亮登场。

4F

for的好伙伴range函数

上面问题的答案是使用如下两种方法即可:

for iin range(100):for iin range(0,100):

range函数在for循环中会自动生成一个列表,比如range(100)就生成一个0到99的列表,range(0,100)是定义了起始值0,和最终值100,默认的步长是1,所以也生成一个0到99的列表。

其实,range还有三个参数的时候,即range(起始值,终止值,步长),在这里步长可以是负数。比如range(1,10,2)生成的是【1,3,5,7,9】。range(10,0,-3)生成的是【10,7,4,1】。通过使用步长参数可以生成等差数列。

做了一个倒计时爆破的小例子来加深对三个参数range函数的理解。

import timefor iin range (10,0, -1):print("i=",i)    time.sleep(1)print("blast off!")程序输出:i=10i=9i=8i=7i=6i=5i=4i=3i=2i=1blast off!

5F

break和continue关键字

无论在while循环还是for循环中,程序会执行完每一次的迭代。但是如果想跳出循环怎么办?那么使用break函数。如果想跳出当前迭代转而执行下一次迭代怎么办?那么使用continue函数。下面两段代码显示出break和continue的不同。

break关键字:

for iin range(0,5):print("i=",i,end="")print(" Hello, How",end="")if i==3:break    print(" are you")程序输出:i=0 Hello, How are youi=1 Hello, How are youi=2 Hello, How are youi=3 Hello, How

continue关键字:

for iin range(0,5):print("i=",i,end="")print(" Hello, How",end="")if i==3:continue    print(" are you")程序输出:i=0 Hello, How are youi=1 Hello, How are youi=2 Hello, How are youi=3 Hello, Howi=4 Hello, How are you

6F

请输入标题内容

习题1的代码如下(包括for和while的实现)

im=int(input("which multiplication table would you like?"))print("here is your table:")#while代码i=1while i<11:    iq=im*iprint(im,"*",i,"=",iq)    i=i+1#for代码for iin range(1,11):    iq=im*iprint(im,"*",i,"=",iq)

习题3的代码如下(包括for和while的实现)

im=int(input("which multiplication table would you like?"))ij=int(input("how high do you want to go?"))print("here is your table:")#while代码i=1while i

上一篇 下一篇

猜你喜欢

热点阅读