友情提示:380元/半年,儿童学编程,就上码丁实验室。
这里 注释#”’、计数循环for和条件循环while
注释符号主要用来介绍指令的作用和意义,或者禁止某行或者某些行的指令的运行。注释符号包括单行注释和多行注释。单行注释符号是#,多行注释符号是把需要注释的代码前面加三个单引号或者双引号,后面加三个单引号或者双引号。
但问题是小朋友写的代码都很简单,基本不需要注释来解释。并且小朋友也不愿意花费时间来做这种工作。所以,加注释的习惯只能从写稍微复杂些的代码的时候开始要求。
书上教授的顺序是先教计数循环for,然后教条件循环while。我觉得不是很合理,因为for循环中要使用到列表、range函数等概念,而while循环只需要有逻辑基础就可以了。所以,之前在循环方面,我一直要求小朋友使用的是while循环。其主要包括三点,初始化变量值,设置while循环条件和变量值变化。一个例子如下:
i=0 while i<10: 程序代码体 i=i+1
另外,变量i的自加操作i+=1,我一直没教小朋友,想等到这些代码都很熟练的时候再教,免得学的多了,反而混淆了。
在之前做的练习中,使用while常容易犯的错误包括:
- 没有初始化
- 变量i没有自加1从而导致代码无限循环
- while的条件没设置正确,比如<10是只会循环到9

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

在有了列表的概念之后,就可以介绍for的基本使用方法了。for循环从本质上来说是使用一个变量来遍历列表中的每一个元素。就好比让一个小朋友依次走过列表中的元素一样。
Alist=[1,2,3,4,5] Blist=["we","you","they"] Clist=Alist+Blist sMax="I'm a pupil." for i in sMax: print(i)
在这里,让小朋友把下面这句里面的sMax依次换成Alist、Blist和Clist来查看输出结果,从而加深对for循环机制的了解。
for i in sMax:

在了解for循环的机制之后,给出的问题是如何使用for循环一定的次数。比如5次,给出的答案可能是
for i in [1,2,3,4,5]:
但是,如果需要循环100次、1000次呢?需要写成【1,2,3,…..100】吗?这时候range函数闪亮登场。

上面问题的答案是使用如下两种方法即可:
for i in range(100): for i in 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 time for i in range (10,0, -1): print("i=",i) time.sleep(1) print("blast off!") 程序输出: i= 10 i= 9 i= 8 i= 7 i= 6 i= 5 i= 4 i= 3 i= 2 i= 1 blast off!

无论在while循环还是for循环中,程序会执行完每一次的迭代。但是如果想跳出循环怎么办?那么使用break函数。如果想跳出当前迭代转而执行下一次迭代怎么办?那么使用continue函数。下面两段代码显示出break和continue的不同。
break关键字:
for i in range(0,5): print("i=",i,end="") print(" Hello, How",end="") if i==3: break print(" are you") 程序输出: i= 0 Hello, How are you i= 1 Hello, How are you i= 2 Hello, How are you i= 3 Hello, How
continue关键字:
for i in range(0,5): print("i=",i,end="") print(" Hello, How",end="") if i==3: continue print(" are you") 程序输出: i= 0 Hello, How are you i= 1 Hello, How are you i= 2 Hello, How are you i= 3 Hello, Howi= 4 Hello, How are you

习题1的代码如下(包括for和while的实现)
im=int(input("which multiplication table would you like?")) print("here is your table:") #while代码 i=1 while i<11: iq=im*i print(im,"*",i,"=",iq) i=i+1 #for代码 for i in range(1,11): iq=im*i print(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=1 while i<ij+1: iq=im*i print(im,"*",i,"=",iq) i=i+1 #for代码 for i in range(1,ij+1): iq=im*i print(im,"*",i,"=",iq)