(共27张PPT)
Tips
turtle.circle(120)
任务一
在机器人比赛中,需要设置如图的运行轨道,请同学们参考任务单中的学习材料,编程实现画10个同切圆的轨道图形,如图所示,圆的半径分别为:
(50,55,60,65,70,75,80,85,90,95)
展示代码
特点?
任务二
请将下段代码输入到python编程平台,运行,看效果。
import turtle #导入turtle库
for n in [50,55,60,65,70,75,80,85,90,95]:
turtle.circle(n)
任务三
分析任务二代码for语句执行过程,并将分析结果填入流程图中
import turtle #导入turtle库
for n in [50,55,60,65,70,75,80,85,90,95]:
turtle.circle(n)
探究for语句执行过程
for语句的通用格式
for n in [50,55,60,65,70,75,80,85,90,95] :
turtle.circle(n)
循环变量
序列
循环体
特点:重复执行循环体
for语句的通用格式
for n in [50,55,60,65,70,75,80,85,90,95]:
turtle.circle(n)
循环变量
序列
循环体
for in :
[else
<语句块>]
可为多条语句
for语句的通用格式
序列:有顺序地组织在一起的数据元素的集合
1、列表直接生成:
for n in [50,55,60,65,70,75,80,85,90,95]:
turtle.circle(n)
for xm in [“张明”,“王丽”,“李刚”,“江强”]:
print(xm)
序列中的元素可以是数值类型也可以是字符串类型
for语句的通用格式
2、range()函数生成:
运行下列代码,看效果:
for i in range(50,100,5):
print(i,end=”,”)
格式:range(初值,终值,步长值)
生成一个以初值开始,到终值之前结束,间隔是步长值的连续变化的等差整数序列,注意这个序列不包括终值
for语句的通用执行过程
循环变量成功取到序列中下一个元素了吗?
循环体
for语句
循环变量成功取到序列中下一个元素了吗?
循环体
1、基本格式: for 循环变量 in 序列:
循环体
2、执行过程:
3、特点:重复执行循环体
任务四
银行办理业务时,需要输入账号和密码,密码输入正确时方可登录系统继续办理所需业务;每次登录有3次试错机会,如果密码连续3次输入错误,账号将被锁死。请你编程实现上述需求。
4.1补充对应的算法流程图
循环体
4.2补充对应的代码
correct=0
passWord="123456"
#请将补充代码写在横线上
x=input("password:")
if x==passWord:
correct=1
break; #终止循环,执行循环语句后面的语句
else:
print("密码不正确,请重试")
if correct==1:
print("欢迎登录XX银行")
else:
print("密码输入超过限定次数,为了您的财产安全,账号已锁死!")
4.1分析问题
第一次输入密码
输出:密码错误,请重试
第二次输入密码
输出:密码错误,请重试
第三次输入密码
输出:账号已被锁死
欢迎登录XX银行
欢迎登录XX银行
欢迎登录XX银行
错误
正确
错误
正确
错误
正确
for 循环变量 in 序列:
循环体
1、循环体是谁?
2、循环变量是什么?
3、如何得到循环变量所需的序列
[1,2,3]
4.1补充对应的算法流程图
循环体
生成一个[1,2,3]序列
i是否成功去到了序列中下一个元素?
4.2补充对应的代码
correct=0
passWord="123456"
#请将补充代码写在横线上
x=input("password:")
if x==passWord:
correct=1
break; #终止循环,执行循环语句后面的语句
else:
print("密码不正确,请重试")
if correct==1:
print("欢迎登录XX银行")
else:
print("密码输入超过限定次数,为了您的财产安全,账号已锁死!")
for 循环变量 in 序列:
循环体
[1,2,3]
i
for i in [1,2,3]:
循环体
任务五
尝试输出50以内所有的素数。(提示:使用双重for循环)
素数:一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
for 循环变量 in 序列:
循环体
5.1 抽象与建模
我们用 x 表示50以内的自然数,如何判断 x 它是不是素数?
用 x 除以小于它的所有自然数(不包括1),去验证是否能被整除,只要能被一个自然数整除,就意味着它不是素数。那只有当我们将所有自然数都除一遍后,都不能被整除,我们才能说 x 是素数。
我们用 j 表示小于 x 的自然数(不包括1)
5.2 找for语句三要素
for 循环变量 in 序列:
循环体
1、循环体?
2、循环变量?
3、序列?
j
[2,3,4,...,x-1]
5.2 找for语句三要素
for 循环变量 in 序列:
循环体
1、循环体?
2、循环变量?
3、序列?
x
[2,3,4,...,49,50]
任务五 代码实现
for x in range(2,51):
#x为50以内的自然数
for j in range(2,x-1):
#j为小于x的自然(不包括1)
if x%j==0:
break;
else:
print(x,end=',')
for语句解决实际问题
1、确定是否有重复的操作及重复操作(循环体)是什么?
2、确定循环变量是谁?
3、确定循环变量所需的序列怎么产生?
用列表表示 OR 用range()函数表示?
for 循环变量 in 序列:
循环体