3.6.2必修1 项目六 了解程序的基本控制结构 学案2

         ————顺序结构与循环结构
【教学目标】
1、认识顺序结构与循环结构形式
2、掌握控制循环结构for语句功能【重点1】
3、掌握range函数产生整数序列规则【重点2】
*
1.
一、【提出问题,引入新课】
上一节课的温度转化程序只能输出一对数据,这节课我们要打印华氏100度-105度对应的摄氏温度对应表。

首先,大家动手输入运行下面两个python程序,看看是否得到相同的结果?


程序1:顺序结构




程序2:循环结构


程序输出结果均为:


【难点分析】

1、程序1中,第2至4语句的作用是设定f的值,计算c的值,输出f与c的值,重复运行第2,3,4三条语句6次,每次只要修改f的值。

2、程序2实现的是一个计数循环算法,即将程序1中的第3至第4条语句重复执行6次。f的值从100变化到105,每次增加1,相当于计数同时控制循环变量。

3、输出格式设定为%10.2f,f表示float浮点数,10表示总的输出宽度为10,数据长度不足在左边补充空格,.2表示小数点后保留2位,四舍五入。
格式:"格式控制符"%(序列值) 

格式控制符由%引出,序列值为多个时用逗号分开,也可以是表达式,但要求控制符个数与变量个数相配套。

          如:print("%10.2f"%(c))    (输出一个数值 )

                 print("%10.2f%20.2f"%(f,c))    (输出两个数值 )


4、for语句用于实现循环结构,形式如下:
       for 变量 in  序列:
    语句块1
       语句块2

变量引用序列中每一个值,循环控制变量每次取序列值里的一个值执行一次循环体(语句块1)循环体结束才执行语句块2。

python使用严格的缩进来表示程序的格式框架,同一框架的语句必须是相同的缩进空格数,不需要使用大括号 {} 。



5、range([start,]stop[,step])函数可以产生一个整数序列,从start开始,到小于stop的最大整数,步长为step,step省略时步长默认为1.因此range(100,106)产生序列为[100,101,102,103,104,105],start省略时表示从0开始,range(5)相当于range(0,5),range(5) 产生序列为[0,1,2,3,4]


课堂练习:
1、range(1,5)产生的序列为(   )
A.[1,2,3,4,5]
B.[1,2,3,4]
C.[0,1,2,3,4,5]
D.[0.1.2.3.4]
*
2.
range(5)产生的序列是(    )
A.[1 ,2 ,3 ,4 ,5]
B.[0, 1 ,2, 3 ,4 ,5]
C.[0, 1 ,2, 3, 4 ]
D.[0 ,1, 2, 3, 4, 5]
*
3.
range(1,10,2)产生的序列为( )
A.[1,3,5,7]
B.[1,2,3,4,5,6,7,8,9]
C.[1,3,5,7,9]
D.[0.1.3.5.7.9]
*
4.
range(1,10,3)产生的序列为(  )
A.[1,4,7,10]
B.[1,4,7]
C.[1,3,5,7,9]
D.[0,1,4,7,9]
*
5.
下面程序:
s=0
for a in range(1,10):
     s=s+a
print(s)
屏幕输出结果是(     )
A.45
B.1 3 6 10 15 21 28 36 45
C.55
D.1 3 6 10 15 21 28 36 45 55
*
6.
下面程序:
s=0
for a in range(1,10):
     s=s+a
     print(s,end="  ")     (end="  " 表示数据在同行输出)
屏幕输出结果是(     )
A.45
B.1 3 6 10 15 21 28 36 45
C.55
D.1 3 6 10 15 21 28 36 45 55
*
7.
下面程序:
s=0
sa=0
for a in range(1,10):
       sa=sa+a
       s=s+sa
       print(sa,end="  ")     (end="  " 表示数据在同行输出)
print(s)

屏幕输出结果是(     )
A.45
B.1 3 6 10 15 21 28 36 45
C.165
D.1 3 6 10 15 21 28 36 45 165
8.
华氏摄氏温度程序优化:用两个变量分别表示下限与上限,补全程序增加输入语句获得下限与上限的值*
xx=    #输入数据,格式:int(input("下限="))
sx=    #同上,提示信息是    "上限="
for f in range(xx,sx,10):
     c=5*(f-32)/9
     print("%8.0f%10.2f"%(f,c))
*
9.
探究学习1:
1)、教材中用"%10.2f"%(c)来表示浮点数格式的输出,整数格式如何输出?
2)、用内外双循环输出九九乘法表

参考程序1:

参考程序2:

问题探究:

1、程序中内外双循环控制的序列数用for i in range(1,10)和for j in range(1,i+1)构成序列数,为什么内循环产生序列数是range(1,i+1),而不是range(1,i)?
2、程序中print()的作用是什么?
*
10.
【情感教育拓广】:欣逢二十大召开,用循环语句控制字符串("喜迎中共二十大,宏图大展跨征程。")中的字符逐个输出,实现打字效果。
程序如下:

在python文件模式下运行程序,分析循环控制变量及其字符输出定位的控制的关系。
问卷星提供技术支持
举报