论文部分内容阅读
摘 要:在中学开展python程序语言课程,存在各种各样的难题,本文探讨通过大量实例来讲解python语言中计数循环语句,可以让学生更容易接受理解。实例设计时由简到难,层层递进,知识在实例中展现,让学生在实例中理解知识。
关键词:python语言;计数循环
计算机程序通常会周而复始地重复同样的步骤,这称为循环。重复一定次数的循环,称为计数循环。计数循环还被很多人称为for循环,因为很多语言在程序中都使用for关键字来创建这样类型的循环。循环在编程中是非常重要的语句,如何让学生更清晰明了的理解循环,需要教师巧妙设计例子,而在实例中可以让学生更容易理解。
一、初次接触,简单了解
学生第一次接触语言中的循环语句,对这些语句不清楚,不知道是做什么用处的,也不知道如何使用代码来完成,这时需要教师巧妙设计,通过例子,让学生容易理解这些问题,从而让学生不产生畏难心理。教师可以先通过写代码,运行让学生看结果,再返回来讲解代码中的语句的含义,这样学生就会明白每一条语句都是起什么作用了,结合python语言简单易懂的特点,循环语句就变得简单了。
例1:来了解一个简单的循环,在python中代码如下:
>>> for loop in [1,2,3,4]:
print "hello,world!"
保存为loop.py,运行这个程序,可以看到这样的结果:
hello,world!
hello,world!
hello,world!
hello,world!
例1代码的意思是:变量loop的值从1开始,对应列表中的每一个值,这个循环会把下一个指令块中的所有工作完成一次,每次执行循环时,变量loop会赋予这个列表中的下一个值。Print “hello,world!”就是python每次循环时要执行的代码。For循环需要一个代码告诉程序每次循环时做什么。通过这个实例,可以让学生清楚理解计数循环的原理,学生在编程时就会注意语句的编写,从而不再犯此类型错误。
二、层层递进,逐步加深
在了解简单的循环后,为加深学生对计数循环的印象,可以在此基础上设计增加难度的程序,让学生在实例中更加清楚认识循环结构。
例2:打印6的乘法口诀:
>>> for loop in [1,2,3,4]:
print loop,"* 6=",loop * 6
把这个程序保存为Loop3.py,然后运行。会看到这样的结果:
1 * 6= 6
2 * 6= 12
3 * 6= 18
4 * 6= 24
三、巧用函数,化繁为简
在上面的例子中,我们只循环了4次,如果希望循环运行100 次或者更多呢?这就得键入很多的数!如果利用range()函数,只输入起始值和结束值,就会创建这二者之间的所有值。Range()会创建一个列表,其中包含某个范围内的数。使用在乘法表中用到的例子,使用range()函数。
>>> for loop in range(1,4):
print loop,"* 6=",loop * 6
把这个程序保存为Loop4.py 并运行,会看到这样的结果:
1* 6= 6
2 * 6= 12
3 * 6= 18
让学生观察运行结果,思考:这样的结果是不是我们要的结果?是哪里出了问题?如何解决这个问题?通过学生思考这三个问题,这样才能让学生理解循环是如何执行命令的。最后教师再给出正确的解释:基本上与第一个结果完全相同……不过少了最后一次循环!为什么呢?答案在于,range(1,4)給出的列表是[1,2,3]。range()函数会提供一个数字列表,从给定的第一个数开始,在给定的最后一个数之前结束,用更准确的语言来说就是它包含下限(本例中为1),但不包含上限(本例中为4),所以在编程中需要考虑到这一点,调整范围来得到想要的循环次数。
四、巧设练习,加强学生理解
学习需要不断练习,教师需要设计相关练习让学生自己摸索探究才能理解循环的语句。如何用for循环实现百元百鸡。此问题是程序设计的经典问题,涉及多层循环,能很好的提升学生的编程思维能力。
例6:某人带100元去买鸡,已知每只小鸡0.5元,每只公鸡2元,每只母鸡3元,要求100元正好买100只鸡,求出买鸡方案。
程序代码如下:
>>> for cock in range(1,51):
for hen in range(1,34):
for biddy in range(1,100):
if(2*cock+3*hen+biddy*0.5)==100:
if(cock+hen+biddy)==100:
print "cock=",cock,"hen=",hen,"biddy=",biddy
把这个程序保存为chicken.py 并运行,你会看到这样的结果:
cock= 5 hen= 17 biddy= 78
cock= 10 hen= 14 biddy= 76
cock= 15 hen= 11 biddy= 74
cock= 20 hen= 8 biddy= 72
cock= 25 hen= 5 biddy= 70
cock= 30 hen= 2 biddy= 68
对于刚开始接触编程的学生来说,实例越简单易懂,接受起来越容易,选择python语言来进行教学,更符合python的初衷:简单易懂。实例的选取决定了一堂课的成败,由易到难的递进,更符合学生的学情和认知能力,所以教师在设计课程时,除了要考虑学生的学情和认知能力以外,还需要从学生的角度去考虑,设计合理合适的实例,由简到难,层层递进,让学生在学习中不产生畏难心理,潜移默化中,在剖析实例的过程中理解掌握程序语言的编写。
关键词:python语言;计数循环
计算机程序通常会周而复始地重复同样的步骤,这称为循环。重复一定次数的循环,称为计数循环。计数循环还被很多人称为for循环,因为很多语言在程序中都使用for关键字来创建这样类型的循环。循环在编程中是非常重要的语句,如何让学生更清晰明了的理解循环,需要教师巧妙设计例子,而在实例中可以让学生更容易理解。
一、初次接触,简单了解
学生第一次接触语言中的循环语句,对这些语句不清楚,不知道是做什么用处的,也不知道如何使用代码来完成,这时需要教师巧妙设计,通过例子,让学生容易理解这些问题,从而让学生不产生畏难心理。教师可以先通过写代码,运行让学生看结果,再返回来讲解代码中的语句的含义,这样学生就会明白每一条语句都是起什么作用了,结合python语言简单易懂的特点,循环语句就变得简单了。
例1:来了解一个简单的循环,在python中代码如下:
>>> for loop in [1,2,3,4]:
print "hello,world!"
保存为loop.py,运行这个程序,可以看到这样的结果:
hello,world!
hello,world!
hello,world!
hello,world!
例1代码的意思是:变量loop的值从1开始,对应列表中的每一个值,这个循环会把下一个指令块中的所有工作完成一次,每次执行循环时,变量loop会赋予这个列表中的下一个值。Print “hello,world!”就是python每次循环时要执行的代码。For循环需要一个代码告诉程序每次循环时做什么。通过这个实例,可以让学生清楚理解计数循环的原理,学生在编程时就会注意语句的编写,从而不再犯此类型错误。
二、层层递进,逐步加深
在了解简单的循环后,为加深学生对计数循环的印象,可以在此基础上设计增加难度的程序,让学生在实例中更加清楚认识循环结构。
例2:打印6的乘法口诀:
>>> for loop in [1,2,3,4]:
print loop,"* 6=",loop * 6
把这个程序保存为Loop3.py,然后运行。会看到这样的结果:
1 * 6= 6
2 * 6= 12
3 * 6= 18
4 * 6= 24
三、巧用函数,化繁为简
在上面的例子中,我们只循环了4次,如果希望循环运行100 次或者更多呢?这就得键入很多的数!如果利用range()函数,只输入起始值和结束值,就会创建这二者之间的所有值。Range()会创建一个列表,其中包含某个范围内的数。使用在乘法表中用到的例子,使用range()函数。
>>> for loop in range(1,4):
print loop,"* 6=",loop * 6
把这个程序保存为Loop4.py 并运行,会看到这样的结果:
1* 6= 6
2 * 6= 12
3 * 6= 18
让学生观察运行结果,思考:这样的结果是不是我们要的结果?是哪里出了问题?如何解决这个问题?通过学生思考这三个问题,这样才能让学生理解循环是如何执行命令的。最后教师再给出正确的解释:基本上与第一个结果完全相同……不过少了最后一次循环!为什么呢?答案在于,range(1,4)給出的列表是[1,2,3]。range()函数会提供一个数字列表,从给定的第一个数开始,在给定的最后一个数之前结束,用更准确的语言来说就是它包含下限(本例中为1),但不包含上限(本例中为4),所以在编程中需要考虑到这一点,调整范围来得到想要的循环次数。
四、巧设练习,加强学生理解
学习需要不断练习,教师需要设计相关练习让学生自己摸索探究才能理解循环的语句。如何用for循环实现百元百鸡。此问题是程序设计的经典问题,涉及多层循环,能很好的提升学生的编程思维能力。
例6:某人带100元去买鸡,已知每只小鸡0.5元,每只公鸡2元,每只母鸡3元,要求100元正好买100只鸡,求出买鸡方案。
程序代码如下:
>>> for cock in range(1,51):
for hen in range(1,34):
for biddy in range(1,100):
if(2*cock+3*hen+biddy*0.5)==100:
if(cock+hen+biddy)==100:
print "cock=",cock,"hen=",hen,"biddy=",biddy
把这个程序保存为chicken.py 并运行,你会看到这样的结果:
cock= 5 hen= 17 biddy= 78
cock= 10 hen= 14 biddy= 76
cock= 15 hen= 11 biddy= 74
cock= 20 hen= 8 biddy= 72
cock= 25 hen= 5 biddy= 70
cock= 30 hen= 2 biddy= 68
对于刚开始接触编程的学生来说,实例越简单易懂,接受起来越容易,选择python语言来进行教学,更符合python的初衷:简单易懂。实例的选取决定了一堂课的成败,由易到难的递进,更符合学生的学情和认知能力,所以教师在设计课程时,除了要考虑学生的学情和认知能力以外,还需要从学生的角度去考虑,设计合理合适的实例,由简到难,层层递进,让学生在学习中不产生畏难心理,潜移默化中,在剖析实例的过程中理解掌握程序语言的编写。