3.2.4循环结构 课件(32张PPT)2023—2024学年高中信息技术浙教版(2019)必修1

资源下载
  1. 二一教育资源

3.2.4循环结构 课件(32张PPT)2023—2024学年高中信息技术浙教版(2019)必修1

资源简介

(共32张PPT)
3.2.4循环结构的程序实现
展示代码
import turtle #导入turtle库
turtle.circle(50)
turtle.circle(55)
turtle.circle(60)
turtle.circle(65)
turtle.circle(70)
turtle.circle(75)
turtle.circle(80)
turtle.circle(85)
turtle.circle(90)
turtle.circle(95)
import turtle #导入turtle库
for n in [50,55,60,65,70,75,80,85,90,95]:
turtle.circle(n)
展示代码
对于序列中的每一个元素执行循环体
序列的元素数量控制循环次数:序列中的元素会被依次赋值给变量,然后执行一次循环体。
import turtle #导入turtle库
for n in [50,55,60,65,70,75,80,85,90,95]:
turtle.circle(n)
for语句的通用格式
循环变量
序列
循环体
可为多条语句
特点:重复执行循环体
序列:有顺序地组织在一起的数据元素的集合
for语句的通用格式
遍历列表建立循环
weeklist=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
for day in weeklist:
print("week:",day)
遍历字符串建立循环
for i in "Python":
print(i)
列表、字符串都是序列,可以利用它们来建立循环。
range()函数可以产生序列,元素默认是从0起始的自然数。
语法格式:
range(start,end,step)
range(start,end)
range(end)
内建函数range()
步长值是序列中的每个元素之间的差
import turtle #导入turtle库
for n in range(50,100,5):
turtle.circle(n)
编写程序,实现在同一行依次输出从0起始的10个自然数
for num in range(10):
print(num)
for循环结构的程序实现
for num in range(10):
print(num,end=' ')
for <变量> in range():
<循环体>
[else:
<语句块>]
for num in range(0,10,2):
print(num,end=’’)
0 2 4 6 8
循环变量成功取到序列中下一个元素了吗?
循环体
for语句的通用格式
1、基本格式: for 循环变量 in 序列:
循环体
2、执行过程:
3、特点:重复执行循环体
s=["tea","teacher","student","stu","master"]
c=input(“请输入字符串:")
n=0
for ch in s:
if c in ch:
n += 1
print(n)
若输入的数据为“ter”,输出的值为 。
1 
练一练
循环体中的语句要向右缩进,
且缩进量要一致。
5.有如下程序段:
sum=0
for i in range(10,20,3):
sum+=i
print(″sum=″,sum)
(1)循环变量i的初值为________,终值为________,步长为________。
(2)该程序段执行后,输出结果为________。
答案 (1)10 19 3 (2)sum= 58
循环结束时,循环变量的值为最后一次进入循环的值,不会超出范围
练一练
break和continue语句的作用是改变控制流程。
当break语句在循环结构中执行时,它会立即跳出循环结构,转而执行循环结构后面的语句。break语句用来强制跳出循环。
与break语句不同,当continue语句在循环结构中执行时,并不会退出循环结构,而是立即结束本次循环,重新进入下一轮循环,也就是说,跳过循环体中在continue语句之后的所有语句,继续下一轮循环。
break和continue语句
没有break语句
s=["tea","teacher","student","stu"]
c=input("输入:")
for ch in s:
print(ch)
else:
print("完整输出")
运行对应程序,观察输出结果
for循环完整执行,则else子句执行
break和continue语句
含有break语句
s=["tea","teacher","student","stu"]
c=input("输入:")
for ch in s:
if c in ch:
break
print(ch)
else:
print("完整输出")
break语句执行时,for循环提前结束,else子句不执行。
break和continue语句
含有continue语句
s=["tea","teacher","student","stu"]
c=input("输入:")
for ch in s:
if c in ch:
continue
print(ch)
else:
print("完整输出")
continue语句不管是否执行,for循环均会完整执行,else子句均执行。
break和continue语句
含有continue语句
s=["tea","teacher","student","den"]
c=input("输入:")
for ch in s:
if c in ch:
continue
print(ch)
else:
print("完整输出")
break和continue语句
break和continue语句
语句 break语句 continue语句
特点 结束整个循环,转而执行循环结构后面的语句 结束本次循环,继续下一次循环。
相同点 两者都只能用于循环之中。 不可单独使用。在嵌套循环中,Break和continue只会对最近的一层循环起作用,也就是就近原则。
代码实例 for i in range(1,11): for j in range(1,11): if i+j!=10: break print(i,j) for i in range(1,11):
for j in range(1,11):
if i+j!=10:
continue
print(i,j)
运行结果 9 1 1 9,2 8,3 7,4 6,5 5,6 4,7 3,8 2,9 1
情境导入
情景导入
探究任务一:猜对后跳出循环
while语句的基本格式:
while 条件表达式 :
循环体
执行过程是:
首先判断条件是否为真,如果为真,执行一次循环体
再次判断条件是否为真,如果仍为真,再执行一次循环体
直到条件为假,退出循环
while语句基本格式
最近刚刚过去的双11活动中,点淘推出了“猜价格,赚元宝”活动,不知道同学们有没有玩过?
给定某种商品,让你猜它的价钱,如果猜对了,奖励元宝,游戏结束,猜错了,不得元宝,一天只能猜十次。
情境导入
情景导入
while循环原理解密
示例:
price=5600
guess = int(input("请输入猜的价格:"))
while guess!=price:
print("猜错了!加油!")
guess = int(input("请输入猜的价格:"))
print("猜对了!你真棒!")
while循环结构的程序实现
guess!=price
print("猜错了!加油!")
guess = int(input("请输入猜的价格:")
while循环原理解密
while循环结构的程序实现
price=5600
guess= int(input("请输入猜的价格:"))
times=1
while ______________:
____________
print(“猜错了!加油!”)
guess = int(input("请输入猜的价格:"))
print("猜对了!你真棒!")
如果猜错了,就会无限循环,成为死循环,如何解决死循环?
请将横线上的程序补充完整,并运行查看效果。
1.次数 2.and
3.改变循环条件
请同学们将程序补充完整:
温馨小提示,我们可以给循环设定一定的次数,限定次数为10次。
while循环原理解密
while循环结构的程序实现
price=5600
guess= int(input("请输入猜的价格:"))
times=1
while ______________:
____________
print(“猜错了!加油!”)
guess = int(input("请输入猜的价格:"))
print("猜对了!你真棒!")
如果猜错了,就会无限循环,成为死循环,如何解决死循环?
请将横线上的程序补充完整,并运行查看效果。
guess!=price and times<11:
times+=1
请同学们将程序补充完整:
温馨小提示,我们可以给循环设定一定的次数,限定次数为10次。
while循环语句格式
while<条件>:
<循环体>
当条件成立就执行循环体
先判断条件是否为真,如果条件表达式为真,执行一次循环体,再次判断条件是否为真,若仍为真,那么再执行一次循环体,以此类推,直到条件为假时退出while语句。
若循环过程中执行了循环体中的break语句,则该while语句结束。
while循环结构的程序实现
s初始值为1,s=s*3执行10遍,s的结果是?python代码如何写?
i=1
s=1
while i<=10:
s=s*3
i+=1
print (s)
退出循环后i的终值是?
练一练
1.循环变量赋初值
2.循环变量的处理
3.合理的循环条件
控制循环次数的变量叫循环变量,循环次数在每次执行可相同,也可不同,所以循环分为次数循环和条件循环。
i=1
s=1
while i<=10:
s=s*3
i+=1
print (s)
while循环结构的程序实现
练一练
阅读下列代码,输出结果是( )
x=int(input(“ 请输入一个正整数:”))
y=0
while x!=0:
y=y*10+x%10
x=x//10
print(y)
程序运行后,输入2021
1202
地球到月球的距离是38.4万千米,孙悟空翻一个筋斗云就十万八千里,请问孙悟空至少要翻多少次将到达月球?
提示:1千米=1公里=2里;108000里=54000千米
练一练
d=38.4*10000
h=54000 # 一个筋斗云的距离
c=0 # 翻的次数
s=0 # 翻后所行的路程,初始值为0
while s <= d:
c=c+1
s+=h
print(c)
一款猜数游戏的逻辑是这样的:
游戏开始生成一个[1,100]随机数,玩家有5次机会进行猜数,每次猜测若不正确都会提示偏大还是偏小,如果5次以内猜中了,则输出”胜利”,否则输出”失败”。
课堂练习
n=24
k=1
输出 “失败”
k<=5
Y
N
k = k+1
输入m
m>n
Y
N
输出 “偏大”
输出 “偏小”
mY
N
输出 “胜利”
小提示:
当前算法中,当玩家胜利是,还会继续猜数,我们应当及时让他终止,因为他已经完成了游戏。
课堂练习
import random
num = random.randint(0,100)
guess = int(input("请输入你猜的数:"))
while guess!=num:
if guess>100:
print("invalid number,please guess again!")
guess = int(input())
elif guess<0:
print("invalid number,please guess again!")
guess = int(input())
else:
if guess>num:
print("No,it's small than it")
else:
print("No,it's big than it")
guess = int(input("请再次输入你猜的数:"))
print("Yes,you are right, it is ",num)
Thanks

展开更多......

收起↑

资源预览