这里 注释#”’、计数循环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
网友评论