5月7日,晴。“纷纷红紫已成尘,布谷声中夏令新。”
计算大师Dijkstra的一句话:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。”电动机的出现引发了自动化的思维,计算机的出现催生了智能化的思维。周以真(Jeannette M. Wing)更是把计算机这一从工具到思维的发展提升到与“读、写、算”同等的基础重要性,成为适合于每一个人的“一种普遍的认识和一类普适的技能”。一定程度上,这也意味着计算机科学从前沿高端到基础普及的转型。
思维是人认识世界和改造世界的主观动力。美国卡内基· 梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授最先提出,计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。中国计算机学会理事长李国杰院士指出, 计算思维远远不只是为计算机编程, 它是在抽象的多个层次上进行思维, 是与读写能力一样的人类的基本思维方式;他进一步指出,计算思维是每个人应当具备的基本技能,它不仅仅属于计算机科学家, 而是应当使每个人包括孩子都要学会计算思维。
程序设计课程是很多非计算机专业学生的一门必修课,同时也是一个训练学生计算思维很好的平台。在Python程序设计课程的教学过程中,引入计算思维的先进理念,把程序设计知识以一种新的方式教授给学生,通过把计算思维融入Python程序设计课程教学中,实现逐步引入计算思维的基本概念和方法,使学生理解计算思维的理念,学会运用计算思维的方法,去发现问题,然后寻找解决问题的途径,最终解决问题。这样通过Python课程的学习,达到培养学生计算思维的能力,提高学生解决问题的能力和创新能力的目的,为程序设计课程探索一条新的教学途径。
引子:非计算机专业学生难以理解的语句:分支和循环,特别是循环语句。
1、分支语句
红灯停,绿灯行:现实生活中,过马路要看红绿灯,如果是绿灯才能过马路,否则需要停止等待。

if语句是最简单的条件判断语句,它可以控制程序的执行流程。
例 1 if语句
age=30
print("------if判断开始------")
if age>=18:
print("------我已经成年了-----")
print("------if判断结束------")
结果:
------if判断开始------------我已经成年了-----
------if判断结束------
if-else语句
例 2 if-else语句
chePiao = 0 # 用1代表有车票,0代表没有车票
if chePiao == 1:
print("有车票,可以上火车")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有车票,不能上车")
print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")
结果:
没有车票,不能上车亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~
if-elif判断语句,该语句可以判断多种情况。
例 3 if-elif语句
score = 77
if score>=90 and score<=100:
print('本次考试,等级为A')
elif score>=80 and score<90:
print('本次考试,等级为B')
elif score>=70 and score<80:
print('本次考试,等级为C')
elif score>=60 and score<70:
print('本次考试,等级为D')
elif score>=0 and score<60:
print('本次考试,等级为E')
结果:本次考试,等级为C
2、循环语句
跑 道:跑道是一圈一圈的,可以看做是循环的。
例 4 实现从1+2+3+...+n的语句
def sum(n):
sum = 0
for i in range(1,n+1):
sum = sum + i
return sum
n = eval(input("请输入从1加到n的所需n的数值:"))
print(sum(n))
结果:
请输入从1加到n的所需n的数值:100
5050
例 5 求第n个斐波那契数值(迭代实现)
def fib(n):
a,b = 0,1
for i in range(n):
a,b =b,a+b
print (a, end=" ")
print ("\n第%d个斐波那契是%d"%(n,a))
fn=eval(input("请输入第n个斐波那契数值:"))
fib(fn)
结果:请输入第n个斐波那契数值:10
1 1 2 3 5 8 13 21 34 55
第10个斐波那契是55