中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

4.4 運用循環結構描述問題求解過程(共29頁ppt)+練習

資源下載
  1. 二一教育資源

4.4 運用循環結構描述問題求解過程(共29頁ppt)+練習

資源簡介

(共29張PPT)
4.4
運用循環結構描述問題求解過程
高中信息技術
必修1
新知導入
本節主要內容:
1、for循環的應用。
2、while循環的應用。
3、循環嵌套的應用。
4、循環控制的應用。
新知講解
4.4.1
for循環的應用
新知講解
格式:
for
循環變量
in
列表:
語句或語句組
注意:1、for循環依次把列表中的每個元素逐個迭代出來
2、冒號“:”代表下一行是循環的第一行,循環體在書寫時需要縮進
新知講解
for循環列表的表達方式:
(1)直接羅列的方式。如:
for
value
in
[1,2,3,4,5]:
(2)先定義后使用的方式。
如:
values=[1,2,3,4,5]
for
value
in
values:
(3)使用range(
)函數,
注意:
①range函數從第一個值開始到第二個值止(不包括第二個值)。
②可指定步長。
③數值列表可以是降序。
新知講解
for循環流程圖
執行過程:
當判定條件滿足時,重復執行代碼段,否則結束循環,跳轉出循環體。
課堂練習
【例】
寫出下列程序的輸出結果。
for
letter
in
("Python"):
print("當前字母
:",
letter)
課堂練習
【例】
寫出下列程序的輸出結果。
fruits
=
['banana',
'apple',
'mango']
for
fruit
in
fruits:
print
("當前水果
:",
fruit)
print
("Good
bye!")
課堂練習
【例】計算斐波那契數列的前30項之和。斐波那契數列:1,1,2,3,5,8,13,21,
34,55,.….提示:除了前兩項,后面的每一項是其前兩項之和。
a=b=1
s=2
for
n
in
range(3,30):
t=a
a=b
b=t+a
s=s+b
print(s)
新知講解
4.4.2
while循環的應用
新知講解
格式:
while
(表達式):
語句或語句組
注意:
(1)表達式一般是一個關系表達式或一個邏輯表達式,表達式的值應該是一個邏輯值真(True)或假(False)
(2)每次循環都是執行完循環體語句后回到表達式處重新開始判斷,重新計算表達式的值。一旦表達式的值為假就退出循環,為真時就繼續執行循環體語句。
(3)循環體中必須有改變條件表達式值的語句,否則將成為死循環。
新知講解
執行過程:
當表達式的值為真時,執行循環體語句;當表達式的值為假時,退出循環,執行循環體外的下一條語句(即while后面沒有縮進的第一條語句)。
上條語句
表達式?
循環語句
下條語句
N
Y
課堂練習
【例】
寫出下列程序的輸出結果。
i
=
1
while
i
<
7:
print(i)
i
+=
1
課堂練習
【例】
寫出下列程序的輸出結果。
i
=
1
while
i
<
7:
print(i)
i
+=
2
PS:通過修改步長可以的到不同的結果
課堂練習
【例】
寫出下列程序的輸出結果。
i
=
1
while
i
<
6:
print(i)
i
+=
1
else:
print("i已經比6大")
新知講解
4.4.3
循環嵌套的應用
新知講解
循環嵌套的定義:在一個循環體內又包含另一個循環。嵌套可以分為多層,每一層循環在邏輯上必須是完整的。在編寫程序代碼時,循環嵌套的書寫要采用縮進形式,內循環中的語句應該比外規律地向右縮進4列。
循環嵌套的作用:解決復雜的問題。
新知講解
循環嵌套的執行過程:
(1)當外層循環條件為True時,則執行外層循環結構中的循環體;
(2)外層循環體中包含了普通程序和內循環,當內層循環的循環條件為True時會執行此循環中的循環體,直到內層循環條件為False,跳出內循環;
(3)如果此時外層循環的條件仍為True
,則返回第2步,繼續執行外層循環體,直到外層循環的循環條件為False;
(4)當內層循環的循環條件為False,且外層循環的循環條件也為False,則整個嵌套循環才算執行完畢。
課堂練習
例:實現九九乘法表。
方法一:for實現
for
row
in
range(1,
10):
for
col
in
range(1,
row+1):
print('{}
{}={}'.format(col,
row,
col
row),
end='\t')
print()
課堂練習
例:實現九九乘法表。
方法二:while實現
row
=
1
while
row
<10:
col
=
1
while
col
<=
row:
print('{}
{}={}'.format(col,
row,
col
row),
end
=
'\t')#見for循環的分析
col
+=
1
print()
#換行
row
+=
1
#內循環結束,外循環加一
課堂練習
例:求所有水仙花數。水仙花數是指一個三位數,其個位、十位、百位3個數字的立方和等于這個數本身(for循環中嵌入if語句)。
for
i
in
range(100,1000):
a=i
%
10
#個位
b=int(i
%
100
/
10)
#十位
c=int(i
/
100)
#百位
if
(a
a
a+b
b
b+c
c
c==i):
print("水仙花數為:",i)
for
i
in
range(1000,10000):
a=i
%
10
#個位
b=int(i
%
100
/
10)
#十位
c=int(i
/
100)
#百位
if
(a
a
a+b
b
b+c
c
c==i):
print("水仙花數為:",i)
新知講解
循環類型
對比
while
循環
在給定的判斷條件為
true
時執行循環體,否則退出循環體。
for
循環
重復執行語句
嵌套循環
在循環體中再嵌套循環
循環類型對比
新知講解
4.4.4
循環控制的應用
新知講解
循環控制的作用:循環控制包含控制循環變量的變化方式和控制循環的跳轉,簡單地說循環控制語句可以更改語句執行的順序。
控制語句
描述
break
語句
在語句塊執行過程中終止循環,并且跳出整個循環
continue
語句
在語句塊執行過程中終止當前循環,跳出該次循環,執行下一次循環。
pass
語句
pass是空語句,是為了保持程序結構的完整性。
新知講解
【例】break
實例應用。
for
letter
in
'Python':
if
letter
==
'h':
break
print('當前字母
:',
letter)
新知講解
【例】
continue
實例應用。
for
letter
in
'Python':
if
letter
==
'h':
continue
print
('當前字母
:',
letter)
新知講解
【例】pass實例應用。
#
輸出
Python
的每個字母
for
letter
in
'Python':
if
letter
==
'h':
pass
print(
'這是
pass
塊')
print
('當前字母
:',
letter)
print(
"Good
bye!")
謝謝
21世紀教育網(www.21cnjy.com)
中小學教育資源網站
有大把高質量資料?一線教師?一線教研員?
歡迎加入21世紀教育網教師合作團隊!!月薪過萬不是夢!!
詳情請看:
https://www.21cnjy.com/help/help_extract.php中小學教育資源及組卷應用平臺
4.4
運用循環結構描述問題求解過程
一、選擇題
1、關于
for循環和
while循環的說法哪個正確(

A、while循環先判斷后執行,for循環先執行后判斷。
B、while循環判斷條件一般是程序結果,for循環的判斷條件一般是非程序結果
C、兩種循環任何時候都不可以替換
D、兩種循環結構中都必須有循環體,循環體不能為空
2、執行以下程序得到的結果是(

i=-1?
while(i<0):
i=i+1?
print(i)?
A、-1
B、0
C、1
D、i
3、有以下程序段:
sum=1
for
i
in
range(1,5):
sum=sum
i
print(sum,i)
程序的運行結果為(
)。
A、24
5
B、120
5
C、24
4
D、120
4
4、下列循環結構用法錯誤的是(

A、for
i
in
range(20):
B、for
i
in
range(0,10):
C、for
i
in
range(10,0,2):
D、while
s<50:
5、若k為整型,下列while循環執行的次數為


k
=
1000
while
k
>
1:
print(k)
k
=
k
/2
A、9
B、10
C、11
D、100
6、執行下列程序以后i的值是(

for
i
in
range(-3,-21,-4):
print(i,end="
")
print(end="\n")
A、-3
B、-4
C、-19
D、-21
7、下面的代碼,哪些會輸出1,2,3,三個數字(

A、for
i
in
range(3):
Print(i)
0,1,2
B、aList
=
[1,2,3]
for
i
in
aList:
print(i+1)
2,3,4
C、i
=
1
while
i<3:
print(i)
1,2
i+=1
D、for
i
in
range(3):
Print(i+1)
1,2,3
8、python中表示跳出循環的函數是(

A、continue
B、break
C、ESC
D、close
9、以下程序要求輸出偶數,則在空白處的語句為(

import?math?
def?func(list):?????
for?x?in?list:?
????????
if(_______):?
print(x)??
A、x%2==0??
?B、x%2??
??C、x?is?even???
?D、x/2
10、14.
下面的語句哪個會無限循環下去
()
A、for
a
in
range(10):
time.sleep(10)
B、while
1<10:
time.sleep(10)
C、while
True:
break
D、a
=
[3,-1,’,’]
for
I
in
a[:]:
if
not
a
:
break
二、編程題
1、使用for循環輸出1
2
3
4
5
6
8
9
10。(注意:數字6和數字8之間,跳過了數字7。)
2、求1-100的所有數的和。
3、求1-2+3-4+5
...
99的所有數的和。
4、模擬銀行用戶密碼登陸(三次機會重試)。(注意:默認賬號為cgc,密碼123。)
5、猜年齡游戲。要求:允許用戶最多嘗試3次,每嘗試3次后,如果還沒猜對,就問用戶是否還想繼續玩,如果回答Y或y,
就繼續讓其猜3次,以此往復,如果回答N或n,就退出程序,如果猜對了,就直接退出。
6、使用循環語句打印如下金字塔:

試題答案
一、選擇題
1
2
3
4
5
6
7
8
9
10
B
B
C
C
B
C
D
B
A
B
解析:
1、for循環執行末尾循環體后將再次進行條件判斷,若條件還成立,則繼續重復上述循環,當條件不成立時則跳出當下for循環。while循環當滿足條件時進入循環,進入循環后,當條件不滿足時,執行完循環體內全部語句后再跳出(而不是立即跳出循環)。
2、i的初值是-1,while(i<0)當i小于0的時候執行i=i+1=0,所以選B。
3、range(1,5)所以i的取值從1到4,sum=sum
i表示i的累乘積,也就是1
2
3
4=24,所以結果sum=24,i=4,選C。
4、range(10,0,2):,步長的值要改為負值range(10,0,-2):,表示從10開始到0結束,但是不包括0,每次減少步長為2。
5、當k>1
的時候,程序會一直執行下去,每次將k的值減半,因為k為整型所以依次為1000,500,250,125,62,31,15,7,3,1,共計10次。
6、因為for
循環變量
in
range(start,
stop[,step]):,所以for
i
in
range(-3,-21,-4):表示從-3開始到-21結束(不包含-21),步長為-4,執行結果為-3
-7
-11
-15
-19,因此i的值最后為-19。
7、A執行結果是0,1,2;B執行結果是2,3,4,C執行結果是1,2,D執行結果是range(3)從1開始每次i+1,所以結果是1,2,3。
8、break
語句功能是:在語句塊執行過程中終止循環,并且跳出整個循環。
9、x%2==0表示x除以2的余數是0,也就是該數為偶數。
10、循環條件while
1<10恒為真,所以此循環會無限循環。
二、編程題
解析:
1、
for
i
in
range(10)
:
if
i==6
:
print('
',end='
')
continue
print(i+1,end="
")
2、
s=0
for
i
in
range(101)
:
s+=i
print(s)
3、
s=0
print(-1
49+99)
s=0
for
i
in
range(100)
:
if
i
%
2
==0
:
s-=i
else:
s+=i
print(s)
4、
km=float(input("請輸入千米數:"))
if
km<=0:
print("千米數輸入錯誤,重新輸入")
elif
km<=3:
print("您需要支付10元車費")
elif
km<=10:
cost=10+(km-3)
1.2
print("您需要支付{:.1f}元車費".format(cost))
else:
cost=18.4+(km-10)
1.5
print("您需要支付{:.1f}元車費".format(cost))
5、
import
random
rand
=
random.randint(1,18)
now
=
'y'
while
now
=='y'
or
now
=='Y'
:
for
i
in
range(3):
a
=
int(input('請輸入要猜的年齡:'))
if
a==rand
:
print('猜對了')
rand
=
random.randint(1,
18)
break
elif
a:
print('猜小了')
elif
a>rand
:
print('猜大了')
now=input('是否繼續玩y/n?')
6、
方法一:while循環實現
current_level=1
max_level=5
while
current_level<=max_level:
print('
'
(max_level-current_level),end='')
print('
'
(2
current_level-1))
current_level+=1
方法二:for循環實現
a
=
5
for
i
in
range(a):
print('
'
(a
-
1
-
i)
+
'
'
(i
+
1)
+
'
'
i)
PS:自己指定金字塔的層數代碼如下。
a
=
int(input('請輸入層數:'))
for
i
in
range(a):
print('
'
(a
-
1
-
i)
+
'
'
(i
+
1)
+
'
'
i)
21世紀教育網
www.21cnjy.com
精品試卷·第
2

(共
2
頁)
HYPERLINK
"http://21世紀教育網(www.21cnjy.com)
"
21世紀教育網(www.21cnjy.com)

展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 景东| 杨浦区| 和硕县| 丽水市| 阜城县| 伊金霍洛旗| 肃宁县| 台北县| 岳池县| 义马市| 澜沧| 义马市| 徐州市| 张北县| 恩施市| 山阳县| 盱眙县| 孝昌县| 高清| 抚远县| 车险| 沙湾县| 张掖市| 开江县| 鄢陵县| 海城市| 承德县| 开阳县| 明溪县| 岳普湖县| 皋兰县| 湖口县| 施甸县| 徐汇区| 北海市| 蕉岭县| 电白县| 浙江省| 常宁市| 灵山县| 龙泉市|