适时改变,守住领域

标签:
工作室教育 |
分类: 信息技术教研基地 |
适时改变,守住领域
新学期以来,感觉信息技术课越来越难上了,主要是学生不愿意花太多时间在信息技术学科上,上学期表现积极的学生也表现出怠慢现象。与学生交流后才知道现在各个学科的进度都很赶,时间非常紧,再加上各个学科的知识难度也在增加,有不少学生已经感觉到了吃力,不愿意花太多时间和精力在信息技术学科上。
辛苦点燃学生对信息技术的热情,被高考学科的一阵微风一吹就灭了!
我理解学生的做法,在现实面前我有些不甘心。如何才能让学生更好的学习信息技术知识和培养学生解决问题的能力,在现阶段我尝试用学案带动学生对知识的学习,再利用相关知识来解决问题。而对知识的学习与解决问题的时间是一周,每上完一节课我会把接下来相关的知识印发给学生。这样学生可以利用闲暇时间来学习与思考问题的解决。学案如下:
Python中的列表学习
4-2-1.py
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'cyan', 'purple']
print(colors)
海龟编辑器控制台中会输出如下结果。
列表变量是由多个元素构成的一个序列,各个元素写在中括号[]之间,以逗号分割。如代码4-2-1.py
中的colors就是列表,它存储的元素都是字符串,即彩虹的七种颜色。Print(colors)输出了列表中所有元素的内容。
我们也可以通过下标来访问列表中某一个元素值:
4-2-2.py
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'cyan', 'purple']
col = colors[0]
print(col)
col = colors[6]
print(col)
运行代码后输出如下结构:

colors[0]表示访问列表colors的第0个元素,由于列表元素的下标都是从0开始,因此输出’red’。colors[6]表示访问列表colors的第六个元素,也就是最后一个元素,因此输出’purple’。
列表除了可以存储字符串外,也可以存储其他元素信息,如数字:
4-2-3.py
xlist = [1, 2, 3, 4, 5]
print(xlist)
各个元素同样写在中括号之间,以逗号分隔,运行后输出如下结果。

列表除了可以整体初始化外,也可以逐步把数据添加到列表中:
4-2-4.py
xlist = []
for i in range(1,6):
print(xlist)
循环语句中i的取值范围为1、2、3、4、5,xlist.append(i)表示把括号中的元素i添加到列表xlist的末尾。程序运行后输出如下结果。

练习1:
尝试用append函数添加列表元素,最终列表输出如下:
[1,3,5,7,9,11,13,15,17,19]
通过下标的形式,不仅可以访问列表的元素,还可以修改元素的值:
4-2-5.py
xlist = [1, 2, 3, 4, 5]
for i in range(5):
print(xlist)
以上代码将列表中的所有元素变成初始值的两倍后输出,结构如下:

当不确定列表的元素个数时,可以用以下代码输出所有列表元素:
4-2-6.py
xlist = [2, 6, 3, 4, 8]
for x in xlist:
其中for x in xlist表示x遍历列表xlist中的所有元素,然后执行循环体中的print()函数,输出结果如下所示:

也可以通过len()函数得到列表的长度(len为length的缩写,表示长度),即列表有几个元素:
4-2-7.py
xlist = [2, 6, 3, 4, 8]
print(len(xlist))
利用len()函数,可以通过如下的代码来遍历列表中的所有元素:
4-2-8.py
xlist = [3, 4, 5, 6, 7]
for i in range(len(xlist)):
输出如下结构:

前面数字是元素的序号,后面是对应元素xlist[i]的值。
另外,列表的元素也可以是一个列表。如果要记录一个小球的位置,可以定义列表记录它的(x,y)坐标,然后再把多个小球的位置列表添加到一个总列表balls中。
4-2-9.py
ball1 =
[1,
2]
ball2 =
[3,
4]
ball3 =
[5,
6]
balls =
[]
# 将以上三个小球的位置列表,添加到balls中
balls.append(ball1)
balls.append(ball2)
balls.append(ball3)
# 输出列表balls中存储的小球元素的x,y坐标
for ball in balls:
输出结构如下:

练习2
运用学过的知识,尝试用[x,y]形式的列表存储小球的位置,随机生成100个小球存储在列表balls中,并调用screen.draw.filled_circle()函数进行绘制,得到类似下图所示效果。有知识点,有需要解决的问题,学生的学习时间更有弹性。学案中的问题设计要有目的的培养学生的计算思维,而在课堂中我可以为学生解答更多的问题。近三周我使用这种方式上课,学案中的问题越来越多的学生有去完成,暂时来说效果还可以。