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

第三章 課時(shí)4 分支結(jié)構(gòu)及程序?qū)崿F(xiàn) 教案 浙教版(2019)必修1(課件 學(xué)案 教案三份打包)

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

第三章 課時(shí)4 分支結(jié)構(gòu)及程序?qū)崿F(xiàn) 教案 浙教版(2019)必修1(課件 學(xué)案 教案三份打包)

資源簡介

課時(shí)4 分支結(jié)構(gòu)及程序?qū)崿F(xiàn)
課時(shí)目標(biāo)
1.理解分支結(jié)構(gòu)的執(zhí)行過程。2.掌握分支結(jié)構(gòu)的三種if語句格式的使用。3.能根據(jù)實(shí)際問題選用合適的分支結(jié)構(gòu)來解決。
1.選擇結(jié)構(gòu)通過判斷某些特定條件是否滿足來決定下一步的執(zhí)行流程,常見的有單分支選擇結(jié)構(gòu)、雙分支選擇結(jié)構(gòu)、多分支選擇結(jié)構(gòu)。
2.一個選擇結(jié)構(gòu)是一個語句塊,塊內(nèi)的語句一般縮進(jìn)4個空格。在Python中對縮進(jìn)有嚴(yán)格要求,可以根據(jù)縮進(jìn)來判斷語句的從屬關(guān)系。
3.選擇語句條件表達(dá)式結(jié)果的數(shù)據(jù)類型是邏輯型,值只有True和False兩個。
4.算法進(jìn)行程序?qū)崿F(xiàn)時(shí),分支結(jié)構(gòu)可用if語句來實(shí)現(xiàn)。
if語句一般格式是:
(1)單分支選擇結(jié)構(gòu)
if <條件>:
<語句塊1>
(2)雙分支選擇結(jié)構(gòu)
if<條件>:
<語句塊1>
else:
<語句塊2>
(3)多分支選擇結(jié)構(gòu)
if <條件1>:
<語句塊1>
elif <條件2>:
<語句塊2>

elif <條件N>:
<語句塊N>
else:
<語句塊N+1>
①語句塊是一行或放在一起的多行語句,一般通過行縮進(jìn)來標(biāo)識if、else、elif下方的語句塊必須采用相同的縮進(jìn)。
②分支結(jié)構(gòu)的條件只判斷一次,符合條件的語句塊也只執(zhí)行一次。
               
例1 調(diào)查發(fā)現(xiàn)人們更傾向于選擇數(shù)字對稱的車牌號,如車牌號“浙H64M46”。于是小石編寫了一個判斷車牌號是否對稱的代碼,Python程序如下:
cp=input("請輸入車牌號(格式如“浙H64M46”):")
s1=cp[2:4]
s2=① 
if②  :
  print("不是對稱車牌")
else:
  print("是對稱車牌")
為實(shí)現(xiàn)功能,劃線處代碼應(yīng)為 (  )
A.①cp[6:5:-1]   ②s1==s2
B.①cp[5:] ②s1!=s2
C.①cp[5:6] ②s1==s2
D.①cp[:-3:-1] ②s1!=s2
答案 D
解析 本題考查字符串的切片。語句s1=cp[2:4]取字符串中索引位置2和3的字符。若要對稱,則對應(yīng)取cp索引位置為6和5的值。A選項(xiàng)索引位置5取不到。B選項(xiàng)不能正向取。C選項(xiàng)只能取一個字符。D選項(xiàng)當(dāng)步長為負(fù)值時(shí),第一個參數(shù)默認(rèn)為-1,即字符串cp中最后一個索引位置,-3是取不到的,只能取了倒數(shù)第2個。
變式訓(xùn)練1 有下列Python程序段:
import random
s=input("請輸入字符串:")
x=random.randint(3,6) #產(chǎn)生一個[3,6]之間的隨機(jī)整數(shù)
n=len(s)
if len(s[0:x])  r=s[x:n]+s[0:x]
else:
  r=s[0:x]+s[x:n]
print(r)
執(zhí)行該程序段,若輸入“helloworld”(不包含雙引號),則輸出的結(jié)果不可能的是 (  )
A.loworldhel B.oworldhell
C.helloworld D.worldhello
答案 D
解析 本題綜合考查了random模塊函數(shù)的應(yīng)用及分支結(jié)構(gòu)及字符串的切片。x為采用random模塊產(chǎn)生的[3,6]之間的隨機(jī)整數(shù),按照題意輸入helloworld后n的值為10,帶入if的條件表達(dá)式可得,執(zhí)行第一個分支(將索引值x前面的字符后置)的條件為x<5,推得執(zhí)行第二個分支(不改變字符順序)的條件為x>=5,通過對選項(xiàng)的處理可知A選項(xiàng)中hel后置,x的值為3,可行;B選項(xiàng)hell后置,x的值為4,符合條件,可行;C選項(xiàng)不改變順序,x>=5,可行;D選項(xiàng)hello后置,可得x=5,而x=5時(shí)應(yīng)執(zhí)行第二個分支的語句。
例2 用Python算法控制結(jié)構(gòu)描述“您所在街道25分鐘后小雨,50分鐘后雨停”,設(shè)t為距離天氣預(yù)報(bào)發(fā)布時(shí)間的間隔(單位:分鐘),下列選項(xiàng)正確的是 (  )
答案 A
解析 本題考查選擇結(jié)構(gòu)。根據(jù)時(shí)間t,分成三個階段。t<=25沒有任何操作,25和50之間是小雨,50之后是雨停。B選項(xiàng)只能表示兩種情況。C選項(xiàng)把t<=25歸結(jié)為雨停。D選項(xiàng)若t>50,肯定滿足條件t>25,因此只能表示一種情況。
變式訓(xùn)練2 某市“一戶一表”水費(fèi)單價(jià)標(biāo)準(zhǔn)如下:第一檔次:每戶每月不超過17立方米的用水量,供水價(jià)格為2.4元/立方米;第二檔次:每戶每月17立方米(不含)到30立方米(含)的用水量,供水價(jià)格比第一檔提高0.5倍;第三檔次:每戶每月超過30立方米的用水量,供水價(jià)格比第一檔提高2倍。根據(jù)水費(fèi)單價(jià)標(biāo)準(zhǔn),用Python算法控制結(jié)構(gòu)描述“第二、三檔次的供水價(jià)格”。設(shè)volumn為某個月的用水量,price為供水價(jià)格初始值為2.4(單位;元/立方米),下列選項(xiàng)正確的是 (  )
A.if volumn<=30:
  price=price*1.5
 else:
  price=price*3
B.if volumn>30:
  price=price*3
elif volumn>17:
   price=price*1.5
C.if volumn<30:
   price=price*1.5
 else:
 price=price*3
D.if volumn>=30:
   price=price*3
elif volumn>=17:
 price=price*1.5
答案 B
解析 本題考查選擇算法結(jié)構(gòu)。根據(jù)題目含義,將水價(jià)分為三個檔次,其中第一個檔次是原價(jià)。A選項(xiàng)不能區(qū)分第一檔次和第二檔次。B選項(xiàng)price為供水價(jià)格初始值為2.4,選擇結(jié)構(gòu)中有兩種情況,符合題意。C選項(xiàng)當(dāng)volumn小于30,包含第一二檔。D選項(xiàng)的臨界值不成立。
例3 象限是平面直角坐標(biāo)系(笛卡爾坐標(biāo)系)中橫軸和縱軸所劃分的四個區(qū)域,每一個區(qū)域叫做一個象限。象限以原點(diǎn)為中心,x,y 軸為分界線,原點(diǎn)和坐標(biāo)軸上的點(diǎn)不屬于任何象限。某同學(xué)根據(jù)輸入的坐標(biāo)點(diǎn)(x,y)來判斷該坐標(biāo)點(diǎn)的位置所在,以下實(shí)現(xiàn)該分類的 Python 程序段中正確的是 (  )
A.if x==0 and y==0: result="原點(diǎn)"
if x==0 or y==0: result="數(shù)軸"
if x!=0 and y!=0:
  result="象限"
B.if x==0 or y==0: result="數(shù)軸"
if x==0 and y==0:
  result="原點(diǎn)"
else: 
  result="象限"
C.if x!=0 and y!=0:  
  result="象限"
if x==0 or y==0:
  result="數(shù)軸"
else:
  result="原點(diǎn)"
D.if x!=0 and y!=0: result="象限"
if x==0 or y==0: result="數(shù)軸"
if x==0 and y==0:
  result="原點(diǎn)"
答案 D
解析 本題考查Python基本控制結(jié)構(gòu)。 (0,0)是原點(diǎn),即 if x==0 and y==0 表示原點(diǎn);(0,y)或者(x,0)分別表示 y 軸與 x 軸。A 選項(xiàng),x==y==0 時(shí),第 1 個和第 2 個 if 均成立。B選項(xiàng)if x==0 or y==0 且 x 與 y 不同時(shí)為 0 表示數(shù)軸,在第2個分支語句中,再次判斷為"象限"。C選項(xiàng)條件x!=0 and y!=0成立,判斷為"象限",在第2個分支語句中,再次判斷為"原點(diǎn)",因此原點(diǎn)的判斷需在數(shù)軸之前。 D選項(xiàng)分三種情況,用3條分支語句來表達(dá)這種情況。
變式訓(xùn)練3 BMI與身體狀況關(guān)系如圖所示
BMI<18 18≤BMI≤24 BMI>24
偏瘦 正常 偏胖
已知某同學(xué)的BMI值存儲在變量X中,小藍(lán)編寫程序判斷該同學(xué)的身體狀況信息,并保存到變量Y中,則下列程序段無法實(shí)現(xiàn)該功能的是 (  )
A.Y = "偏瘦"
 if X>=18:
   Y = "正常"
 elif X>24:
   Y = "偏胖"
B.Y="偏胖"
 if X<18:
   Y = "偏瘦"
 elif X<=24:
   Y = "正常"
C.if X>24:
   Y = "偏胖"
 elif X>=18:
   Y = "正常"
else:
   Y = "偏瘦"
D.if 18<=X<=24:
    Y = "正常"
 else:
    Y = "偏瘦"
  if X>18:
    Y = "偏胖"
答案 A
解析 本題考查 Python分支結(jié)構(gòu)基本語法。A 選項(xiàng)只要變量 X 的值大于等于 18,輸出結(jié)果均為“偏胖”,與題干要求不符。
例4 正整數(shù)n若是它平方數(shù)的尾部部分若與該正整數(shù)n相等,則稱n為同構(gòu)數(shù)。判斷一個兩位數(shù)n是否是同構(gòu)數(shù)。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的語句。
n=int(input("輸入一個正整數(shù)"))
if    :
  print('是同構(gòu)數(shù)')
else:
  print('不是同構(gòu)數(shù)')
答案 n**2%100==n
解析 本題考查的是選擇結(jié)構(gòu)的條件和取余運(yùn)算符的應(yīng)用。選擇結(jié)構(gòu)要選擇合適的條件判斷,n是它平方數(shù)的尾部,n平方數(shù)的后兩位數(shù)為n**2%100。
變式訓(xùn)練4 判斷當(dāng)前計(jì)算得到驗(yàn)證碼變量yzm(整型)與商品識別條碼s(字符串型)第13位是否相等,為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的語句。
s="3203225155569"
if      :
  print("驗(yàn)證通過")
else:
  print("驗(yàn)證不通過")
答案 yzm==int(s[12])
解析 條件為計(jì)算結(jié)果與最后一位字符相同。但要注意類型的匹配,前者是數(shù)字,后者是字符串。
例5 輸入一個身份證號碼s(字符串型),如果他的第17位是奇數(shù),表示該公民的性別為男性,否則為女性。為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的語句。
s="330522********5115"
if    :
  print("女性")
else:
  print("男性")
答案 int(s[16])%2==0或int(s[16])%2!=1
解析 取出身份證號碼s的第17位的值為文本,不能用于算術(shù)運(yùn)算。判斷是否是奇數(shù)的條件是除以2后的余數(shù)是否為0。
變式訓(xùn)練5 輸入一個正整數(shù)n,判斷它是否是一個完全平方數(shù),若是則輸出“Yes”,否則輸出“No”。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的語句。
n=int(input('please input n:'))
if    :
  print('Yes')
else:
  print('No')
答案 int(pow(n,0.5))**2==n或int(n**0.5)**2==n
解析 如果n的算術(shù)平方根取整后再平方等于原數(shù)n,則n為完全平方數(shù),否則不是。求算術(shù)平方根可用pow函數(shù)或**運(yùn)算實(shí)現(xiàn),因此,判斷條件可寫為int(pow(n,0.5))**2==n或int(n**0.5)**2==n。
例6 若三條線段的長度分別為a、b、c,判斷他們是否能構(gòu)成三角形(任意兩邊之和大于第三邊)。為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的語句。
a=float(input('please input a:'))
b=float(input('please input b:'))
c=float(input('please input c:'))
if        :
  print('能構(gòu)成三角形')
else:
  print('不能構(gòu)成三角形')
答案 (a+b)>c and (b+c)>a and (a+c)>b或a+b>c and a+c>b and b+c>a
解析 本題考查的知識點(diǎn)是選擇結(jié)構(gòu)的多條件表達(dá)式。需注意的是:任意兩邊有幾種可能性,他們之間是且還是或的關(guān)系。
變式訓(xùn)練6 輸入一個密碼psd,若密碼的長度小于6位,則提示“密碼長度不能少于6位!”,否則提示“OK!”。為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的代碼。
psd=input('Please input password:')
if      :
  print("OK!")
else:
  print("密碼長度不能少于6位!")
答案 len(psd)>=6
解析 本題考查的知識點(diǎn)是選擇結(jié)構(gòu)的條件和Len函數(shù)的應(yīng)用。條件是密碼長度大于等于6,因此填入的代碼為len(psd)>=6。
例7 用計(jì)算機(jī)模擬一個猜商品價(jià)格的游戲,首先計(jì)算機(jī)隨機(jī)產(chǎn)生一個[20,60]之間的整數(shù)x作為商品的價(jià)格,用戶輸入價(jià)格,若猜中了,提示“恭喜你猜中了!”,所猜價(jià)格與x的差值在5元之內(nèi),提示“加油,答案很接近!”,高于5元,提示“你猜得太高或太低了!”。程序代碼如下所示,請?jiān)诔绦騽澗€處填入合適的代碼:
# 計(jì)算機(jī)隨機(jī)產(chǎn)生一個[20,60]之間的整數(shù)x,并賦于變量shpjg,代碼省略
jg=int(input("輸入你猜的價(jià)格:"))
if①      :
  print("恭喜你猜中了!")
elif②      :
  print("你猜得太高或太低了!")
else:
  print("加油,答案很接近!")
答案?、賘g==shpjg?、赼bs(jg-shpjg)>=5
解析 本題考查的是多分支if語句。根據(jù)題意與代碼可知,①處的判斷條件是輸入價(jià)格與原來價(jià)格是否相等,因此,①處代碼為jg==shpjg;②處為所猜價(jià)格與真實(shí)價(jià)格的距離在5元以外,因此,②處代碼為abs(jg-shpjg)>=5。
變式訓(xùn)練7 某旅游景點(diǎn)規(guī)定,身高在1.2米以下的兒童免費(fèi),身高在1.2及米上,但不超過1.5米的兒童購買半價(jià)票,身高超過1.5米的游客購買全價(jià)票。實(shí)現(xiàn)上述功能的程序如下,請?jiān)诔绦騽澗€處填入合適的代碼。
h=float(input('請輸入身高(單位米):'))
if①      :
  print('免費(fèi)')
elif②      :
  print('請購買半價(jià)票')
else:
  print('請購買全價(jià)票')
答案?、賖<1.2?、趆<=1.5
解析 本題考查的是多分支if語句。根據(jù)題意可知,本題的分支結(jié)構(gòu)條件分別是:h<1.2,1.2<=h<=1.5。因此,①處應(yīng)填入的代碼為h<1.2;②處條件為1.2<=h<=1.5,但elif條件隱含著h>=1.2的條件,因此②處應(yīng)填入的代碼為h<=1.5。
變式訓(xùn)練8 用Python語言編寫一個程序,實(shí)現(xiàn)如下功能:
輸入某一學(xué)生的性別、身高和體重,計(jì)算該生的BMI指數(shù)并分析其體型情況,得到其體重指數(shù)分?jǐn)?shù),然后輸出。
體質(zhì)指數(shù)(BMI)=體重(kg)÷身高(m)2(如:70kg÷(1.75m)2=22.86)
等級 體重指數(shù)分?jǐn)?shù) 男 女
偏瘦 80 ≤16.4 ≤16.4
標(biāo)準(zhǔn) 100 16.5~23.2 16.5~22.7
超重 80 23.3~26.3 22.8~25.2
肥胖 60 ≥26.4 ≥25.3
編寫的程序代碼如下,將劃線處填寫完整。
xb=input("輸入性別:")
sg=float(input("輸入身高(單位:m):"))
tz=float(input("輸入體重(單位:kg):"))
①     #計(jì)算BMI的值,并四舍五入保留兩位小數(shù)
print("bmi值為:",bmi)
if bmi<=16.4:
  bmizx= 1
elif xb=="男" and bmi<=23.2 or xb=="女" and bmi<=22.7:
  bmizx= 2
elif xb=="男" and bmi<=26.3 or xb=="女" and bmi<=25.2:
  bmizx= 3
②    :
  bmizx= 4
bz={1:"偏瘦",2:"標(biāo)準(zhǔn)",3:"超重",4:"肥胖"}
print("你的體型屬于",③    )
答案?、賐mi=round(tz/sg**2,2) ②else ③bz[bmizx]
解析 本題考查多分支選擇結(jié)構(gòu)。①根據(jù)體質(zhì)指數(shù)(BMI)的計(jì)算公式并用round函數(shù)保留小數(shù)。②除了以上條件外,其余均為肥胖,因此為else。③體型的標(biāo)準(zhǔn)和情況保存在字典bz中,因此按鍵查找值。
               
1.有如下Python程序段:
a=[2,3,5,6,9]
x=min(a);y=max(a);ans=a[1]
if x**2>y:
  ans=ans+x**2
  ans=ans∥2
else:
  ans=ans+y
  ans=ans%y
print(ans)
執(zhí)行該程序段后,輸出的內(nèi)容是 (  )
A.6 B.5 C.4 D.3
答案 D
2.有如下 Python 程序段:
# 輸入 3 個整數(shù)分別存儲到變量 a、b、c 中,代碼略
if a > b and a > c:  
  maxn = a
elif b > a and b > c:
  maxn = b
elif c > a and c > b:
  maxn = c
print("a,b,c 的最大值為:", maxn)
執(zhí)行該程序段,輸入下列 4 組測試數(shù)據(jù),無法正確輸出 a、b、c 的最大值的是
A.10,20,30 B.20,30,10
C.30,10,10 D.10,10,10
答案 D
3.以下程序?qū)崿F(xiàn)與計(jì)算機(jī)玩“石頭剪刀布”的游戲(分別用0,1,2代表石頭、剪刀、布),游戲規(guī)則為:石頭贏剪刀、剪刀贏布、布贏石頭。代碼如下:
import random
pc=random.randint(0,2)
player=int(input("請輸入石頭(0)、剪刀(1)、布(2):"))
if① 
  print("你贏了,恭喜!")
elif player==pc:
  print("平手")
else:
  print("你輸了,再接再厲!")
解決該問題,上述程序①處填入語句正確的是 (  )
A.pc>player
B.pcC.pc-player==1 and player-pc==2
D.pc-player==1 or player-pc==2
答案 D
解析 本題考查多分支選擇結(jié)構(gòu)。你贏的可能性有3種,一是石頭對剪刀,二是布對石頭,三是剪刀對布,其中前2種可能中,pc-player==1,第3種可能性中,player-pc==2。
4.某Python代碼如下,執(zhí)行后輸出的結(jié)果是 (  )
L=['pear','apple','orange']
n=len(L[2])
ans=3
if n%2==0:
  ans*=n
else:
  ans+=n
ans-=5
print(ans)
A.13 B.3 C.18 D.8
答案 A
解析 本題考查Python列表的切片和分支結(jié)構(gòu)。L[2]為'orange',因此n=len(L[2])值為6,符合分支語句的第一個條件,執(zhí)行if對應(yīng)的語句塊,此時(shí)ans的值為18,再執(zhí)行ans-=5后ans的值為13,并且輸出。
5.用Python 算法描述魚缸水溫預(yù)警功能:當(dāng)水溫高于32度時(shí), LED燈呈現(xiàn)“紅色”;低于27度時(shí),LED燈呈現(xiàn)“藍(lán)色”;其余情況LED燈呈現(xiàn)“綠色”。
# 通過傳感器獲取魚缸內(nèi)水溫值,并存儲到變量 t 中LED="綠色"
LED="綠色"
if        :
  if t>32:
    LED="紅色"
  else:
    LED="藍(lán)色"
print("LED 燈顏色顯示:",LED)
為實(shí)現(xiàn)上述功能,劃線處正確的 Python 表達(dá)式是 (  )
A.not(27C.t<27 or t>32 D.t<27 and t>32
答案 C
6.下列選項(xiàng)中,對變量flag的賦值與其它三項(xiàng)不等價(jià)的是 (  )
A.if a>b:
   flag=True
 flag=False
B.flag=a>b
C.if a>b:
   flag=True
 else:
   flag=False
D.flag=False
 if a>b:
   flag=True
答案 A
7.有如下程序段:
list1=["an","alpha","around","bee","back","cake"]
leng=len(list1)
if leng>6:
  z=list1[0]
else:
  z=list1[leng-1]
print(z)
執(zhí)行后,輸出的結(jié)果為    。
答案 cake
解析 本題主要考查的是分支結(jié)構(gòu)。len(list1)返回的是列表list1的長度,即leng=6,條件leng>6不滿足,因此執(zhí)行語句z=list1[leng-1],即取出列表中的最后一個元素,因此z="cake",print命令輸出字符串內(nèi)容時(shí),不顯示引號,因此輸出的結(jié)果為cake,而非"cake"。
8.如圖所示的流程圖的功能是根據(jù)用水量求水費(fèi)?;卮鹣铝袉栴}:
v=①     
if②      :
  s=2.4*v
elif v<=30:
 ?、邸    ?
else:
  s=4.3*v
print(s)
(1)請?jiān)诔绦騽澗€處填入合適的語句。
(2)結(jié)合算法和流程圖分析,若輸入用水量為28噸,則輸出的s值將為    ,若輸入用水量為100噸,則輸出的s值為    。
答案 (1)①float(input("輸入用水量:"))或float(input()) ②v<=17?、踫=3.35*v (2)93.8 430
解析 本題主要考查的是多分支結(jié)構(gòu)的程序?qū)崿F(xiàn)。(1)v表示的是輸入的用水量,水費(fèi)等于用水量乘以相應(yīng)的單價(jià),因此要將輸入的數(shù)轉(zhuǎn)換為實(shí)數(shù)類型,因此①處語句為float(input("輸入用水量:"))或float(input());根據(jù)s=2.4*v并對照流程圖可知,②處條件為v<=17;根據(jù)elif v<=30可知,③處代碼為s=3.35*v。(2)用水量為28噸,條件1730,因此s=4.3*100=430。
9.下列選項(xiàng)的語句中,與“若 x 小于 0,則 y=-1,否則,y=1”功能相同的是 (  )
A.if x<0:
   y=-1
 y=1
B.y=1
 if x<0
   y=-1
C.if x<0:
   y=-1
 if x>0:
  y=1
D.if x>0:
   y=1
 else:
   y=-1
答案 B
10.用Python算法控制結(jié)構(gòu)描述“小李起床后20分鐘后去鍛煉,50分鐘后鍛煉結(jié)束去學(xué)?!?設(shè)t為起床后經(jīng)過的時(shí)間,下列選項(xiàng)正確的是 (  )
A.if t>50:
 print("去學(xué)校")
 else:
 print("去鍛煉")
B.if t>50:
 print("去學(xué)校")
 elif t>20:
 print("去鍛煉")
C.if t>20 and t<50:
 print("去鍛煉")
 else:
 print("去學(xué)校")
D.if t>20:
 print("去鍛煉")
 elif t>50:
   print("去學(xué)校")
答案 B
11.用Python算法控制結(jié)構(gòu)描述:若水位高于10(不含)或者排水速度小于0.05(不含),發(fā)出警告。實(shí)時(shí)監(jiān)測到的水位用h表示,排水速度用v表示,下列代碼正確的是 (  )
A.if h>10:
 if v<0.05:
   print("警告!")
 else:
   print("正常!")
B.if h<=10 or v>=0.05:
   print("正常!")
 else:
   print("警告!")
C.if h<=10:
   print("正常!")
 elif v>=0.05:
   print("正常!")
 else:
   print("警告!")
D.if h>10:
   print("警告!")
 elif v<0.05:
   print("警告!")
 else:
   print("正常!")
答案 D
一、基礎(chǔ)鞏固
                
1.使用Python編寫一個輸出門票價(jià)格的程序,代碼如下:
h=int(input("請輸入您的身高:"))
if h <=120:
  p=0
elif h>140:
  p=100
else:
  p=50
print("您需要支付的門票價(jià)格是:",p)
要測試所有分支程序代碼是否正確。以下測試數(shù)據(jù)中,最恰當(dāng)?shù)囊唤M是 (  )
A.120,140 B.130,150
C.100,130,140 D.100,130,150
答案 D
解析 本題主要考查Python分支結(jié)構(gòu)的基礎(chǔ)概念,要測試所有分支程序代碼是否正確,因?yàn)橛腥齻€分支,故三個值的取值必須在[0,120],(120,140],(140,+∞),故答案應(yīng)選D。
2.以下選項(xiàng)中,與其他三項(xiàng)功能不同的是 (  )
A.maxv=a
 if b>maxv:
   maxv=b
 if c>maxv:
   maxv=c
B.if a>b and a>c
   maxv=a
 elif b>c:
   maxv=b
 else:
   maxv=c
C.if a>b
   maxv=a
 else:
   maxv=b
 if c>maxv:
   maxv=c
D.if a>b and a>c:
   maxv=a
 if b>a and b>c;
   maxv=b
 if c>a and c>b:
   maxv=c
答案 D
解析 本題考查分支語句if elif的相關(guān)知識。ABC選項(xiàng)的功能是求最大值。A選項(xiàng)默認(rèn)a是最大值,還有兩個選擇結(jié)構(gòu),分別與b和c比較。B選項(xiàng)是多分支選擇結(jié)構(gòu),如果不滿足條件a>b and a>c,則a不是最大值,最大值可能是b和c。C選項(xiàng)是兩個選擇結(jié)構(gòu),先在a和b是找出最大值,接著最大值與c比較。D選項(xiàng)用3個選擇結(jié)構(gòu)來實(shí)現(xiàn),但有一種情況,即a=b=c時(shí),或最大值有2個時(shí),不能實(shí)現(xiàn)找出最大值的功能。
3.下列Python語句中,能體現(xiàn)“若a大于0則b=a,和否則b=-1”表述并實(shí)現(xiàn)其功能的是 (  )
A.if a>0:
   b=a
 else:
   b=-1
B.if a>0:
   b=a
 if a<0:
   b=-1
C.b=-1
 if a>0:
   b=a
D.if a>0:
   b=a
 elif:
   b=-1
答案 A
4.有如下Python程序段:
a=[3,6,2.8,14,3,11]
sum=a[1]+a[3]-a[5]
v=sum%2
if v==1:
  print(1-v)
else:
  print(-1)
執(zhí)行該程序段,輸出的結(jié)果是 (  )
A.1 B.0 C.報(bào)錯 D.-1
答案 B
5.有如下Python程序:
import math
total=float(input("請輸入金額:"))
if total<=500:
  total*=0.9
elif total<=1500:
  total*=0.85
else:
  total*=0.75
print(math.floor(total))
運(yùn)行程序,輸入"1024"后回車,程序的輸出結(jié)果是   
答案 870
6.若一個四位數(shù),各個位數(shù)上的數(shù)字的4次冪之和等于它本身,則稱這個數(shù)為四葉玫瑰數(shù)。編寫Python程序,判斷輸入一個數(shù)是否為四葉玫瑰數(shù)。
(1)四位數(shù)4326    (選填:是/不是)四葉玫瑰數(shù)。
(2)實(shí)現(xiàn)上述功能的Python 程序如下,請?jiān)趧澗€處填入合適代碼。
number=int(input("請輸入一個四位數(shù):"))
a = number∥1000
b =①   
c = number%100∥10
d = number%10
if ②    :
  print(number, "是四葉玫瑰數(shù)")
else:
  print(number, "不是四葉玫瑰數(shù)")
答案 (1)不是 (2)① number%1000∥100或number∥100%10 ②a**4+b**4+c**4+d**4==number:
7.判斷一個三位數(shù)i是否是水仙花數(shù)的條件是:它的各個位數(shù)字a、b、c的立方和與它本身是否相等,若相等為水仙花數(shù),請把下列語句補(bǔ)充完整。
a,b,c=1,5,3
if    :
  print("是水仙花數(shù)")
else:
  print("不是水仙花數(shù)")
答案 a**3+b**3+c**3==a*100+b*10+c
解析 掌握數(shù)字的表達(dá),掌握條件的表達(dá)。條件是各個數(shù)字的立方和與他本身相等,那么各個數(shù)字的立方和又該如何表達(dá)。
8.輸出某個溫度范圍內(nèi)(從低溫t1到高溫t2)氣體的密度變化情況,輸入溫度t1和t2,要保證溫度t1低于溫度t2,把下列語句補(bǔ)充完整。
t1,t2=4,3
if    :
  t=t1;t1=t2;t2=t
答案 t1>t2
解析 本題考查的知識點(diǎn)是選擇結(jié)構(gòu)的條件和交換語句的應(yīng)用。從三條語句t=t1;t1=t2;t2=t來看,是要交換t1和t2的值,根據(jù)題目的要求,從低溫t1到高溫t2,因此若t1比t2大時(shí),需要交換兩者。
9.每周星期一,杭州本地牌照尾號為1和9的汽車是限行的,在汽車牌照本中取得最后一個數(shù)字ch(字符串型),判斷該車星期一是否限行,請把下列語句補(bǔ)充完整。
pz="浙APW559"
if    :
  print("限行")
else:
  print("不限行")
答案 pz[-1]=="1" or pz[-1]=="9"或者
int(pz[-1])==1 or int(pz[-1])==9
解析 兩個條件滿足一個就可以了,但要注意數(shù)據(jù)類型。
10.輸入一元二次方程系數(shù)a、b、c,輸出方程根的情況。請把下列語句補(bǔ)充完整。
a=int(input("a="))
b=int(input("b="))
c=int(input("c="))
d=①     
if a==0:
  print("一元二次方程a不能為零!")
elif②      :
  print("方程有一個根")
elif d>0:
  print("方程有兩個根")
else:
  print("方程沒有根")
答案 ①b**2-4*a*c?、赿==0
解析 根據(jù)d的值來判斷是否有根,執(zhí)行語句中已經(jīng)提示“a不能為零”和“方程有一個根”。
11.輸入一個字符串s,判斷字符串s中第i個字符的類型,類型分為4種:大寫字母、小寫字母、阿拉伯?dāng)?shù)字、其他字符。請回答下列問題。
s=input("please string:")
i=3
①     
tot=['其他字符','大寫字母','小寫字母','阿拉伯?dāng)?shù)字']
t=0
if ch>='A' and ch<="Z":
  t=1
elif ch>='a' and ch<="z":
  t=2
elif ②      :#如果是數(shù)字
  t=3
print('當(dāng)前字符的類型為:',③      )
(1)請?jiān)诔绦騽澗€處填入合適的代碼。
(2)運(yùn)行當(dāng)前程序,輸入s的內(nèi)容為“Lm@”,則所屬類型對應(yīng)的列表元素為    。
答案 (1)①ch=s[i-1] 或ch=s[2]
②ch>='0' and ch<='9'或'9'>=ch>='0'
③tot[t]
(2)tot[0]
解析 本題考查的是多分支語句。字符串中第i個字符,則在字符串中的索引號為i-1,因此①中代碼為ch=s[i-1],因?yàn)閕=3,因此也可以寫為ch=s[2];②處語句的功能是判斷當(dāng)前字符是否為數(shù)字,因此代碼為ch>='0' and ch<='9',也可寫為'9'>=ch>='0';變量t對應(yīng)當(dāng)前字符所屬的類型,因此,③處代碼為tot[t]。(2)運(yùn)行當(dāng)前程序,輸入s的內(nèi)容為“Lm@”,則第3個字符為“@”,屬于其他字符類,因此對應(yīng)的列表元素為tot[0]。
12.設(shè)計(jì)一個程序,根據(jù)輸入的勞務(wù)報(bào)酬收入計(jì)算勞務(wù)報(bào)酬所得稅。解決此問題的流程圖如圖所示。
編寫的Python程序代碼如下所示,請?jiān)趧澗€處填入合適的代碼。
x=int(input("請輸入勞務(wù)費(fèi)"))
if x<0 or x>1000000:
  print("請檢查輸入的數(shù)據(jù)")
else:
  if x<=800:
    y=0
  elif①      :
    y=(x-800)*0.2
  else:
     ②     
print("應(yīng)交稅收"+③      )
答案 ①x<=4000?、趛=x*0.16 ③str(y)
解析 在多分支選擇結(jié)構(gòu)中,每個分支逐一匹配,在第二個分支中,已經(jīng)不滿足x<=800,即所有的x均大于800,因此只需要說明他小于4000即可。
二、能力提升
13.COD(化學(xué)需氧量)是衡量水質(zhì)污染程度的重要指標(biāo)之一,污水處理時(shí)根據(jù)污水的COD指標(biāo)來計(jì)算COD去除劑的投放量。當(dāng)COD指標(biāo)x小于50時(shí),劑量為10,指標(biāo)大于等于50且小于等于500時(shí),劑量為1.2x/5,指標(biāo)超過500時(shí),劑量為1.5x/4。運(yùn)行程序后,輸入COD指標(biāo),輸出計(jì)算結(jié)果。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的代碼。
x=int(input("請輸入COD指標(biāo)x"))
if x<50:
  y=10
①      :
  y=1.2*x/5
else:
 ?、凇    ?
print("所需劑量為"+str(y))
答案 ①elif x<=500?、趛=1.5*x/4
解析 注意多分支選擇結(jié)構(gòu)的書寫格式。
14.模擬一個簡單計(jì)算器,輸入兩個數(shù)和一個運(yùn)算符(加、減、乘、除),進(jìn)行算術(shù)運(yùn)算,并輸出運(yùn)算結(jié)果。程序運(yùn)行時(shí),先后輸入第一個數(shù)、運(yùn)算符和第二個數(shù),輸出運(yùn)算結(jié)果。當(dāng)輸入的運(yùn)算符不是加、減、乘、除四種運(yùn)算符時(shí),則輸出“運(yùn)算符不正確”;當(dāng)進(jìn)行除法運(yùn)算時(shí),如果除數(shù)為0,提示輸出“除數(shù)不能為零”。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的代碼。
x=int(input("請輸入第1個數(shù)"))
ch=input("請輸入運(yùn)算符")
y=int(input("請輸入第2個數(shù)"))
flag=False
s="+-*/"
if ch in s:
  flag=True
  if ch=="+":
    z=x+y
  elif ch=="-":
    z=x-y
  elif ch=="*":
    z=x*y
  else:
    if①      :
      print("除數(shù)不能為0!")
      flag=False
    else:
      z=x/y
if②      :
  print("運(yùn)算的結(jié)果為:"+str(z))
else:
  print("運(yùn)算符不正確")
答案?、賧==0 ②flag或flag==True
解析 提示"除數(shù)不能為0!",因此應(yīng)填寫當(dāng)y等于0時(shí)的情況。由于y=0時(shí),已經(jīng)輸出了內(nèi)容,此時(shí)flag=False,因此只有當(dāng)flag==True時(shí)才有輸出。
15.編寫Python程序,實(shí)現(xiàn)如下功能:輸入AQI指數(shù),輸出該AQI值所對應(yīng)的空氣質(zhì)量等級及空氣狀況。程序運(yùn)行效果如圖所示。
請輸入AQI指數(shù)值:220空氣質(zhì)量等級為:V 空氣狀況為:重度污染
AQI指數(shù)所對應(yīng)的空氣質(zhì)量等級及空氣狀況如表所示:
AQI指數(shù) 0-50 51-100 101-150 151-200 201-300 >300
等級 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ
空氣狀況 優(yōu) 良 輕度污染 中度污染 重度污染 嚴(yán)重污染
實(shí)現(xiàn)上述功能的程序如下。
st="Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ"
aqi=float(input("請輸入AQI指數(shù)值:"))
if aqi<=50:
  ss="優(yōu)"
  dj=1
elif aqi<=100:
  ss="良"
  dj=2
elif①      :
  ss="輕度污染"
  dj=3
elif aqi<=200:
  ss="中度污染"
  dj=4
elif aqi<=300:
  ss="重度污染"
  dj=5
else:
  ss="嚴(yán)重污染"
  dj=6
②     
print("空氣質(zhì)量等級為:"+skydd,"空氣狀況為:"+ss)
(1)程序運(yùn)行時(shí),輸入200,則屏幕上顯示的內(nèi)容為    。
(2)請?jiān)诔绦騽澗€處填入合適的代碼。
答案 (1)空氣質(zhì)量等級為:Ⅳ,空氣狀況為:中度污染 (2)①aqi<=150?、趕kydd=st[dj-1]
解析 本題主要考查的是多分支結(jié)構(gòu)。(1)aqi=200時(shí),對應(yīng)的等級為Ⅳ,屬于中度污染,因此屏幕上顯示的內(nèi)容為“空氣質(zhì)量等級為:Ⅳ,空氣狀況為:中度污染”。
(2)①處空氣狀況為“輕度污染”,因此條件為aqi<=150;空氣質(zhì)量等級存儲在字符串skydd中,字符串的第一個字符的索引號為0,因此②處代碼為skydd=st[dj-1]。
16.現(xiàn)有編號為"Xs001"、"Xs002"的兩位學(xué)生,分別輸入他們的性別和身高,按一定的規(guī)則進(jìn)行排列,輸出排列后的座位信息,實(shí)現(xiàn)該功能的程序代碼如下:
xm1="Xs001"
xm2="Xs002"
xb1=input("請輸入第1位學(xué)生性別:")
sg1=float(input("請輸入第1位學(xué)生身高(米):"))
xb2=input("請輸入第2位學(xué)生性別:")
sg2=float(input("請輸入第2位學(xué)生身高(米):"))
if xb1==xb2 and sg1>sg2:  s=xm1+" "+xm2elif xb1==xb2 and sg1<=sg2:  s=xm2+" "+xm1elif xb1=="女":  s=xm1+" "+xm2else:  s=xm2+" "+xm1
print("兩位同學(xué)座位依次是:",s)
根據(jù)上述算法實(shí)現(xiàn)的功能,用嵌套的選擇結(jié)構(gòu)描述的流程圖如圖所示,
(1)將流程圖中①②處補(bǔ)充完整。
①__________________________________________________________
②__________________________________________________________
(2)根據(jù)流程圖,將方框內(nèi)代碼用嵌套的選擇結(jié)構(gòu)實(shí)現(xiàn)相應(yīng)功能,并寫出Python語句塊。
答案 (1)①sg1>sg2  ②xb1=="女"
(2) if xb1==xb2:
    if sg1>sg2:
      s=xm1+" "+xm2
   else:
      s=xm2+" "+xm1
  else:
   if xb1=="女":
     s=xm1+" "+xm2
   else:
     s=xm2+" "+xm1
解析 (1)程序功能:相同性別按身高從高到低排列,不同性別女生排在前面,男生排在后面。當(dāng)條件xb1==xb2成立時(shí),表示是相同性別,則進(jìn)行身高的比較,因此①處為sg1>sg2 當(dāng)條件不成立時(shí),女生優(yōu)先,因此②處為xb1=="女"
(2)先用一個判斷結(jié)構(gòu)來區(qū)分是否相同的性別,在一個分支中嵌套另一個分支。(共86張PPT)
課時(shí)4 分支結(jié)構(gòu)及程序?qū)崿F(xiàn)
第三章 算法的程序?qū)崿F(xiàn)
1.理解分支結(jié)構(gòu)的執(zhí)行過程。
2.掌握分支結(jié)構(gòu)的三種if語句格式的使用。
3.能根據(jù)實(shí)際問題選用合適的分支結(jié)構(gòu)來解決。
目 錄
CONTENTS
知識梳理
01
例題精析
02
隨堂檢測
03
鞏固與提升
04
知識梳理
1
1.選擇結(jié)構(gòu)通過判斷某些特定條件是否滿足來決定下一步的執(zhí)行流程,常見的有單分支選擇結(jié)構(gòu)、雙分支選擇結(jié)構(gòu)、________選擇結(jié)構(gòu)。
2.一個選擇結(jié)構(gòu)是一個語句塊,塊內(nèi)的語句一般縮進(jìn)4個空格。在Python中對縮進(jìn)有嚴(yán)格要求,可以根據(jù)縮進(jìn)來判斷語句的從屬關(guān)系。
3.選擇語句條件表達(dá)式結(jié)果的數(shù)據(jù)類型是________,值只有__________和____________兩個。
多分支
邏輯型
True
False
4.算法進(jìn)行程序?qū)崿F(xiàn)時(shí),分支結(jié)構(gòu)可用if語句來實(shí)現(xiàn)。
if語句一般格式是:
(1)單分支選擇結(jié)構(gòu)
if <條件>:
<語句塊1>
(2)雙分支選擇結(jié)構(gòu)
if<條件>:
<語句塊1>
else:
<語句塊2>
(3)多分支選擇結(jié)構(gòu)
if <條件1>:
<語句塊1>
elif <條件2>:
<語句塊2>

elif <條件N>:
<語句塊N>
else:
<語句塊N+1>
①語句塊是一行或放在一起的多行語句,一般通過行縮進(jìn)來標(biāo)識if、else、elif下方的語句塊必須采用相同的縮進(jìn)。
②分支結(jié)構(gòu)的條件只判斷一次,符合條件的語句塊也只執(zhí)行一次。
例題精析
2
例1 調(diào)查發(fā)現(xiàn)人們更傾向于選擇數(shù)字對稱的車牌號,如車牌號“浙H64M46”。于是小石編寫了一個判斷車牌號是否對稱的代碼,Python程序如下:
cp=input("請輸入車牌號(格式如“浙H64M46”):")
s1=cp[2:4]
s2=① 
if②  :
  print("不是對稱車牌")
else:
  print("是對稱車牌")
D
為實(shí)現(xiàn)功能,劃線處代碼應(yīng)為 (  )
A.①cp[6:5:-1]   ②s1==s2
B.①cp[5:] ②s1!=s2
C.①cp[5:6] ②s1==s2
D.①cp[:-3:-1] ②s1!=s2
解析 本題考查字符串的切片。語句s1=cp[2:4]取字符串中索引位置2和3的字符。若要對稱,則對應(yīng)取cp索引位置為6和5的值。A選項(xiàng)索引位置5取不到。B選項(xiàng)不能正向取。C選項(xiàng)只能取一個字符。D選項(xiàng)當(dāng)步長為負(fù)值時(shí),第一個參數(shù)默認(rèn)為-1,即字符串cp中最后一個索引位置,-3是取不到的,只能取了倒數(shù)第2個。
變式訓(xùn)練1 有下列Python程序段:
import random
s=input("請輸入字符串:")
x=random.randint(3,6) #產(chǎn)生一個[3,6]之間的隨機(jī)整數(shù)
n=len(s)
if len(s[0:x])  r=s[x:n]+s[0:x]
else:
  r=s[0:x]+s[x:n]
print(r)
解析 本題綜合考查了random模塊函數(shù)的應(yīng)用及分支結(jié)構(gòu)及字符串的切片。x為采用random模塊產(chǎn)生的[3,6]之間的隨機(jī)整數(shù),按照題意輸入helloworld后n的值為10,帶入if的條件表達(dá)式可得,執(zhí)行第一個分支(將索引值x前面的字符后置)的條件為x<5,推得執(zhí)行第二個分支(不改變字符順序)的條件為x>=5,通過對選項(xiàng)的處理可知A選項(xiàng)中hel后置,x的值為3,可行;B選項(xiàng)hell后置,x的值為4,符合條件,可行;C選項(xiàng)不改變順序,x>=5,可行;D選項(xiàng)hello后置,可得x=5,而x=5時(shí)應(yīng)執(zhí)行第二個分支的語句。
D
例2 用Python算法控制結(jié)構(gòu)描述“您所在街道25分鐘后小雨,50分鐘后雨?!?設(shè)t為距離天氣預(yù)報(bào)發(fā)布時(shí)間的間隔(單位:分鐘),下列選項(xiàng)正確的是 (  )
A
解析 本題考查選擇結(jié)構(gòu)。根據(jù)時(shí)間t,分成三個階段。t<=25沒有任何操作,25和50之間是小雨,50之后是雨停。B選項(xiàng)只能表示兩種情況。C選項(xiàng)把t<=25歸結(jié)為雨停。D選項(xiàng)若t>50,肯定滿足條件t>25,因此只能表示一種情況。
變式訓(xùn)練2 某市“一戶一表”水費(fèi)單價(jià)標(biāo)準(zhǔn)如下:第一檔次:每戶每月不超過17立方米的用水量,供水價(jià)格為2.4元/立方米;第二檔次:每戶每月17立方米(不含)到30立方米(含)的用水量,供水價(jià)格比第一檔提高0.5倍;第三檔次:每戶每月超過30立方米的用水量,供水價(jià)格比第一檔提高2倍。根據(jù)水費(fèi)單價(jià)標(biāo)準(zhǔn),用Python算法控制結(jié)構(gòu)描述“第二、三檔次的供水價(jià)格”。設(shè)volumn為某個月的用水量,price為供水價(jià)格初始值為2.4(單位;元/立方米),下列選項(xiàng)正確的是 (  )
B
A.if volumn<=30:
  price=price*1.5
 else:
  price=price*3
B.if volumn>30:
  price=price*3
elif volumn>17:
   price=price*1.5
C.if volumn<30:
   price=price*1.5
 else:
 price=price*3
D.if volumn>=30:
   price=price*3
elif volumn>=17:
 price=price*1.5
解析 本題考查選擇算法結(jié)構(gòu)。根據(jù)題目含義,將水價(jià)分為三個檔次,其中第一個檔次是原價(jià)。A選項(xiàng)不能區(qū)分第一檔次和第二檔次。B選項(xiàng)price為供水價(jià)格初始值為2.4,選擇結(jié)構(gòu)中有兩種情況,符合題意。C選項(xiàng)當(dāng)volumn小于30,包含第一二檔。D選項(xiàng)的臨界值不成立。
例3 象限是平面直角坐標(biāo)系(笛卡爾坐標(biāo)系)中橫軸和縱軸所劃分的四個區(qū)域,每一個區(qū)域叫做一個象限。象限以原點(diǎn)為中心,x,y 軸為分界線,原點(diǎn)和坐標(biāo)軸上的點(diǎn)不屬于任何象限。某同學(xué)根據(jù)輸入的坐標(biāo)點(diǎn)(x,y)來判斷該坐標(biāo)點(diǎn)的位置所在,以下實(shí)現(xiàn)該分類的 Python 程序段中正確的是 (  )
A.if x==0 and y==0: result="原點(diǎn)"
if x==0 or y==0: result="數(shù)軸"
if x!=0 and y!=0:
  result="象限"
D
B.if x==0 or y==0: result="數(shù)軸"
if x==0 and y==0:
  result="原點(diǎn)"
else: 
  result="象限"
C.if x!=0 and y!=0:  
  result="象限"
if x==0 or y==0:
  result="數(shù)軸"
else:
  result="原點(diǎn)"
D.if x!=0 and y!=0: result="象限"
if x==0 or y==0: result="數(shù)軸"
if x==0 and y==0:
  result="原點(diǎn)"
解析 本題考查Python基本控制結(jié)構(gòu)。 (0,0)是原點(diǎn),即 if x==0 and y==0 表示原點(diǎn);(0,y)或者(x,0)分別表示 y 軸與 x 軸。A 選項(xiàng),x==y==0 時(shí),第 1 個和第 2 個 if 均成立。B選項(xiàng)if x==0 or y==0 且 x 與 y 不同時(shí)為 0 表示數(shù)軸,在第2個分支語句中,再次判斷為"象限"。C選項(xiàng)條件x!=0 and y!=0成立,判斷為"象限",在第2個分支語句中,再次判斷為"原點(diǎn)",因此原點(diǎn)的判斷需在數(shù)軸之前。 D選項(xiàng)分三種情況,用3條分支語句來表達(dá)這種情況。
變式訓(xùn)練3 BMI與身體狀況關(guān)系如圖所示
A
BMI<18 18≤BMI≤24 BMI>24
偏瘦 正常 偏胖
A.Y = "偏瘦"
 if X>=18:
   Y = "正常"
 elif X>24:
   Y = "偏胖"
B.Y="偏胖"
 if X<18:
   Y = "偏瘦"
 elif X<=24:
   Y = "正常"
C.if X>24:
   Y = "偏胖"
 elif X>=18:
   Y = "正常"
else:
   Y = "偏瘦"
D.if 18<=X<=24:
    Y = "正常"
 else:
    Y = "偏瘦"
  if X>18:
    Y = "偏胖"
解析 本題考查 Python分支結(jié)構(gòu)基本語法。A 選項(xiàng)只要變量 X 的值大于等于 18,輸出結(jié)果均為“偏胖”,與題干要求不符。
例4 正整數(shù)n若是它平方數(shù)的尾部部分若與該正整數(shù)n相等,則稱n為同構(gòu)數(shù)。判斷一個兩位數(shù)n是否是同構(gòu)數(shù)。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的語句。
n=int(input("輸入一個正整數(shù)"))
if    :
  print('是同構(gòu)數(shù)')
else:
  print('不是同構(gòu)數(shù)')
答案 n**2%100==n
解析 本題考查的是選擇結(jié)構(gòu)的條件和取余運(yùn)算符的應(yīng)用。選擇結(jié)構(gòu)要選擇合適的條件判斷,n是它平方數(shù)的尾部,n平方數(shù)的后兩位數(shù)為n**2%100。
變式訓(xùn)練4 判斷當(dāng)前計(jì)算得到驗(yàn)證碼變量yzm(整型)與商品識別條碼s(字符串型)第13位是否相等,為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的語句。
s="3203225155569"
if      :
  print("驗(yàn)證通過")
else:
  print("驗(yàn)證不通過")
答案 yzm==int(s[12])
解析 條件為計(jì)算結(jié)果與最后一位字符相同。但要注意類型的匹配,前者是數(shù)字,后者是字符串。
例5 輸入一個身份證號碼s(字符串型),如果他的第17位是奇數(shù),表示該公民的性別為男性,否則為女性。為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的語句。
s="330522********5115"
if    :
  print("女性")
else:
  print("男性")
答案 int(s[16])%2==0或int(s[16])%2 !=1
解析 取出身份證號碼s的第17位的值為文本,不能用于算術(shù)運(yùn)算。判斷是否是奇數(shù)的條件是除以2后的余數(shù)是否為0。
變式訓(xùn)練5 輸入一個正整數(shù)n,判斷它是否是一個完全平方數(shù),若是則輸出“Yes”,否則輸出“No”。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的語句。
n=int(input('please input n:'))
if    :
  print('Yes')
else:
  print('No')
答案 int(pow(n,0.5))**2==n或int(n**0.5)**2==n
解析 如果n的算術(shù)平方根取整后再平方等于原數(shù)n,則n為完全平方數(shù),否則不是。求算術(shù)平方根可用pow函數(shù)或**運(yùn)算實(shí)現(xiàn),因此,判斷條件可寫為int(pow(n,0.5))**2==n或int(n**0.5)**2==n。
例6 若三條線段的長度分別為a、b、c,判斷他們是否能構(gòu)成三角形(任意兩邊之和大于第三邊)。為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的語句。
a=float(input('please input a:'))
b=float(input('please input b:'))
c=float(input('please input c:'))
if        :
  print('能構(gòu)成三角形')
else:
  print('不能構(gòu)成三角形')
答案 (a+b)>c and (b+c)>a and (a+c)>b或a+b>c and a+c>b and b+c>a
解析 本題考查的知識點(diǎn)是選擇結(jié)構(gòu)的多條件表達(dá)式。需注意的是:任意兩邊有幾種可能性,他們之間是且還是或的關(guān)系。
變式訓(xùn)練6 輸入一個密碼psd,若密碼的長度小于6位,則提示“密碼長度不能少于6位!”,否則提示“OK!”。為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的代碼。
psd=input('Please input password:')
if      :
  print("OK!")
else:
  print("密碼長度不能少于6位!")
答案 len(psd)>=6
解析 本題考查的知識點(diǎn)是選擇結(jié)構(gòu)的條件和Len函數(shù)的應(yīng)用。條件是密碼長度大于等于6,因此填入的代碼為len(psd)>=6。
例7 用計(jì)算機(jī)模擬一個猜商品價(jià)格的游戲,首先計(jì)算機(jī)隨機(jī)產(chǎn)生一個[20,60]之間的整數(shù)x作為商品的價(jià)格,用戶輸入價(jià)格,若猜中了,提示“恭喜你猜中了!”,所猜價(jià)格與x的差值在5元之內(nèi),提示“加油,答案很接近!”,高于5元,提示“你猜得太高或太低了!”。程序代碼如下所示,請?jiān)诔绦騽澗€處填入合適的代碼:
# 計(jì)算機(jī)隨機(jī)產(chǎn)生一個[20,60]之間的整數(shù)x,并賦于變量shpjg,代碼省略
jg=int(input("輸入你猜的價(jià)格:"))
if ①      :
  print("恭喜你猜中了!")
elif ②      :
  print("你猜得太高或太低了!")
else:
  print("加油,答案很接近!")
答案?、賘g==shpjg?、赼bs(jg-shpjg)>=5
解析 本題考查的是多分支if語句。根據(jù)題意與代碼可知,①處的判斷條件是輸入價(jià)格與原來價(jià)格是否相等,因此,①處代碼為jg==shpjg;②處為所猜價(jià)格與真實(shí)價(jià)格的距離在5元以外,因此,②處代碼為abs(jg-shpjg)>=5。
變式訓(xùn)練7 某旅游景點(diǎn)規(guī)定,身高在1.2米以下的兒童免費(fèi),身高在1.2及米上,但不超過1.5米的兒童購買半價(jià)票,身高超過1.5米的游客購買全價(jià)票。實(shí)現(xiàn)上述功能的程序如下,請?jiān)诔绦騽澗€處填入合適的代碼。
h=float(input('請輸入身高(單位米):'))
if①      :
  print('免費(fèi)')
elif②      :
  print('請購買半價(jià)票')
else:
  print('請購買全價(jià)票')
答案?、賖<1.2?、趆<=1.5
解析 本題考查的是多分支if語句。根據(jù)題意可知,本題的分支結(jié)構(gòu)條件分別是:h<1.2,1.2<=h<=1.5。因此,①處應(yīng)填入的代碼為h<1.2;②處條件為1.2<=h<=1.5,但elif條件隱含著h>=1.2的條件,因此②處應(yīng)填入的代碼為h<=1.5。
變式訓(xùn)練8 用Python語言編寫一個程序,實(shí)現(xiàn)如下功能:
輸入某一學(xué)生的性別、身高和體重,計(jì)算該生的BMI指數(shù)并分析其體型情況,得到其體重指數(shù)分?jǐn)?shù),然后輸出。
體質(zhì)指數(shù)(BMI)=體重(kg)÷身高(m)2(如:70kg÷(1.75m)2=22.86)
等級 體重指數(shù)分?jǐn)?shù) 男 女
偏瘦 80 ≤16.4 ≤16.4
標(biāo)準(zhǔn) 100 16.5~23.2 16.5~22.7
超重 80 23.3~26.3 22.8~25.2
肥胖 60 ≥26.4 ≥25.3
編寫的程序代碼如下,將劃線處填寫完整。
xb=input("輸入性別:")
sg=float(input("輸入身高(單位:m):"))
tz=float(input("輸入體重(單位:kg):"))
①     #計(jì)算BMI的值,并四舍五入保留兩位小數(shù)
print("bmi值為:",bmi)
if bmi<=16.4:
  bmizx= 1
elif xb=="男" and bmi<=23.2 or xb=="女" and bmi<=22.7:
  bmizx= 2
elif xb=="男" and bmi<=26.3 or xb=="女" and bmi<=25.2:
  bmizx= 3
②    :
  bmizx= 4
bz={1:"偏瘦",2:"標(biāo)準(zhǔn)",3:"超重",4:"肥胖"}
print("你的體型屬于",③    )
答案 ①bmi=round(tz/sg**2,2) ②else ③bz[bmizx]
解析 本題考查多分支選擇結(jié)構(gòu)。①根據(jù)體質(zhì)指數(shù)(BMI)的計(jì)算公式并用round函數(shù)保留小數(shù)。②除了以上條件外,其余均為肥胖,因此為else。③體型的標(biāo)準(zhǔn)和情況保存在字典bz中,因此按鍵查找值。
隨堂檢測
3
1.有如下Python程序段:
a=[2,3,5,6,9]
x=min(a);y=max(a);ans=a[1]
if x**2>y:
  ans=ans+x**2
  ans=ans∥2
else:
  ans=ans+y
  ans=ans%y
print(ans)
D
執(zhí)行該程序段后,輸出的內(nèi)容是 (  )
A.6 B.5 C.4 D.3
2.有如下 Python 程序段:
# 輸入 3 個整數(shù)分別存儲到變量 a、b、c 中,代碼略
if a > b and a > c:  
  maxn = a
elif b > a and b > c:
  maxn = b
elif c > a and c > b:
  maxn = c
print("a,b,c 的最大值為:", maxn)
執(zhí)行該程序段,輸入下列 4 組測試數(shù)據(jù),無法正確輸出 a、b、c 的最大值的是( )
A.10,20,30 B.20,30,10
C.30,10,10 D.10,10,10
D
3.以下程序?qū)崿F(xiàn)與計(jì)算機(jī)玩“石頭剪刀布”的游戲(分別用0,1,2代表石頭、剪刀、布),游戲規(guī)則為:石頭贏剪刀、剪刀贏布、布贏石頭。代碼如下:
import random
pc=random.randint(0,2)
player=int(input("請輸入石頭(0)、剪刀(1)、布(2):"))
if① 
  print("你贏了,恭喜!")
elif player==pc:
  print("平手")
else:
  print("你輸了,再接再厲!")
D
解決該問題,上述程序①處填入語句正確的是 (  )
A.pc>player
B.pcC.pc-player==1 and player-pc==2
D.pc-player==1 or player-pc==2
解析 本題考查多分支選擇結(jié)構(gòu)。你贏的可能性有3種,一是石頭對剪刀,二是布對石頭,三是剪刀對布,其中前2種可能中,pc-player==1,第3種可能性中,player-pc==2。
4.某Python代碼如下,執(zhí)行后輸出的結(jié)果是 (  )
L=['pear','apple','orange']
n=len(L[2])
ans=3
if n%2==0:
  ans*=n
else:
  ans+=n
ans-=5
print(ans)
A.13 B.3 C.18 D.8
A
解析 本題考查Python列表的切片和分支結(jié)構(gòu)。L[2]為'orange',因此n=len(L[2])值為6,符合分支語句的第一個條件,執(zhí)行if對應(yīng)的語句塊,此時(shí)ans的值為18,再執(zhí)行ans-=5后ans的值為13,并且輸出。
5.用Python 算法描述魚缸水溫預(yù)警功能:當(dāng)水溫高于32度時(shí), LED燈呈現(xiàn)“紅色”;低于27度時(shí),LED燈呈現(xiàn)“藍(lán)色”;其余情況LED燈呈現(xiàn)“綠色”。
# 通過傳感器獲取魚缸內(nèi)水溫值,并存儲到變量 t 中LED="綠色"
LED="綠色"
if        :
  if t>32:
    LED="紅色"
  else:
    LED="藍(lán)色"
print("LED 燈顏色顯示:",LED)
C
為實(shí)現(xiàn)上述功能,劃線處正確的 Python 表達(dá)式是 (  )
A.not(27C.t<27 or t>32 D.t<27 and t>32
A.if a>b:
   flag=True
 flag=False
A
B.flag=a>b
C.if a>b:
   flag=True
 else:
   flag=False
D.flag=False
 if a>b:
   flag=True
7.有如下程序段:
list1=["an","alpha","around","bee","back","cake"]
leng=len(list1)
if leng>6:
  z=list1[0]
else:
  z=list1[leng-1]
print(z)
執(zhí)行后,輸出的結(jié)果為    。
解析 本題主要考查的是分支結(jié)構(gòu)。len(list1)返回的是列表list1的長度,即leng=6,條件leng>6不滿足,因此執(zhí)行語句z=list1[leng-1],即取出列表中的最后一個元素,因此z="cake",print命令輸出字符串內(nèi)容時(shí),不顯示引號,因此輸出的結(jié)果為cake,而非"cake"。
答案 cake
8.如圖所示的流程圖的功能是根據(jù)用水量求水費(fèi)?;卮鹣铝袉栴}:
v=①     
if②      :
  s=2.4*v
elif v<=30:
 ?、邸    ?
else:
  s=4.3*v
print(s)
(1)請?jiān)诔绦騽澗€處填入合適的語句。
(2)結(jié)合算法和流程圖分析,若輸入用水量為28噸,則輸出的s值將為    ,若輸入用水量為100噸,則輸出的s值為    。
答案 (1)①float(input("輸入用水量:"))或float(input()) ②v<=17?、踫=3.35*v (2)93.8 430
解析 本題主要考查的是多分支結(jié)構(gòu)的程序?qū)崿F(xiàn)。(1)v表示的是輸入的用水量,水費(fèi)等于用水量乘以相應(yīng)的單價(jià),因此要將輸入的數(shù)轉(zhuǎn)換為實(shí)數(shù)類型,因此①處語句為float(input("輸入用水量:"))或float(input());根據(jù)s=2.4*v并對照流程圖可知,②處條件為v<=17;根據(jù)elif v<=30可知,③處代碼為s=3.35*v。(2)用水量為28噸,條件1730,因此s=4.3*100=430。
9.下列選項(xiàng)的語句中,與“若 x 小于 0,則 y=-1,否則,y=1”功能相同的是 (  )
B
A.if x<0:
   y=-1
 y=1
B.y=1
 if x<0
   y=-1
C.if x<0:
   y=-1
 if x>0:
  y=1
D.if x>0:
   y=1
 else:
   y=-1
10.用Python算法控制結(jié)構(gòu)描述“小李起床后20分鐘后去鍛煉,50分鐘后鍛煉結(jié)束去學(xué)?!?設(shè)t為起床后經(jīng)過的時(shí)間,下列選項(xiàng)正確的是 (  )
B
A.if t>50:
 print("去學(xué)校")
 else:
 print("去鍛煉")
B.if t>50:
 print("去學(xué)校")
 elif t>20:
 print("去鍛煉")
C.if t>20 and t<50:
 print("去鍛煉")
 else:
 print("去學(xué)校")
D.if t>20:
 print("去鍛煉")
 elif t>50:
   print("去學(xué)校")
11.用Python算法控制結(jié)構(gòu)描述:若水位高于10(不含)或者排水速度小于0.05(不含),發(fā)出警告。實(shí)時(shí)監(jiān)測到的水位用h表示,排水速度用v表示,下列代碼正確的是 (  )
D
A.if h>10:
 if v<0.05:
   print("警告!")
 else:
   print("正常!")
B.if h<=10 or v>=0.05:
   print("正常!")
 else:
   print("警告!")
C.if h<=10:
   print("正常!")
 elif v>=0.05:
   print("正常!")
 else:
   print("警告!")
D.if h>10:
   print("警告!")
 elif v<0.05:
   print("警告!")
 else:
   print("正常!")
4
鞏固與提升
基礎(chǔ)鞏固
能力提升
1.使用Python編寫一個輸出門票價(jià)格的程序,代碼如下:
h=int(input("請輸入您的身高:"))
if h <=120:
  p=0
elif h>140:
  p=100
else:
  p=50
print("您需要支付的門票價(jià)格是:",p)
D
要測試所有分支程序代碼是否正確。以下測試數(shù)據(jù)中,最恰當(dāng)?shù)囊唤M是 (  )
A.120,140 B.130,150
C.100,130,140 D.100,130,150
解析 本題主要考查Python分支結(jié)構(gòu)的基礎(chǔ)概念,要測試所有分支程序代碼是否正確,因?yàn)橛腥齻€分支,故三個值的取值必須在[0,120],(120,140],(140,+∞),故答案應(yīng)選D。
A.maxv=a
 if b>maxv:
   maxv=b
 if c>maxv:
   maxv=c
D
解析 本題考查分支語句if elif的相關(guān)知識。ABC選項(xiàng)的功能是求最大值。A選項(xiàng)默認(rèn)a是最大值,還有兩個選擇結(jié)構(gòu),分別與b和c比較。B選項(xiàng)是多分支選擇結(jié)構(gòu),如果不滿足條件a>b and a>c,則a不是最大值,最大值可能是b和c。C選項(xiàng)是兩個選擇結(jié)構(gòu),先在a和b是找出最大值,接著最大值與c比較。D選項(xiàng)用3個選擇結(jié)構(gòu)來實(shí)現(xiàn),但有一種情況,即a=b=c時(shí),或最大值有2個時(shí),不能實(shí)現(xiàn)找出最大值的功能。
B.if a>b and a>c
   maxv=a
 elif b>c:
   maxv=b
 else:
   maxv=c
C.if a>b
   maxv=a
 else:
   maxv=b
 if c>maxv:
   maxv=c
D.if a>b and a>c:
   maxv=a
 if b>a and b>c;
   maxv=b
 if c>a and c>b:
   maxv=c
3.下列Python語句中,能體現(xiàn)“若a大于0則b=a,和否則b=-1”表述并實(shí)現(xiàn)其功能的是 (  )
A
A.if a>0:
   b=a
 else:
   b=-1
B.if a>0:
   b=a
 if a<0:
   b=-1
C.b=-1
 if a>0:
   b=a
D.if a>0:
   b=a
 elif:
   b=-1
4.有如下Python程序段:
a=[3,6,2.8,14,3,11]
sum=a[1]+a[3]-a[5]
v=sum%2
if v==1:
  print(1-v)
else:
  print(-1)
執(zhí)行該程序段,輸出的結(jié)果是(  )
A.1 B.0 C.報(bào)錯 D.-1
B
5.有如下Python程序:
import math
total=float(input("請輸入金額:"))
if total<=500:
  total*=0.9
elif total<=1500:
  total*=0.85
else:
  total*=0.75
print(math.floor(total))
運(yùn)行程序,輸入"1024"后回車,程序的輸出結(jié)果是    。
答案 870
6.若一個四位數(shù),各個位數(shù)上的數(shù)字的4次冪之和等于它本身,則稱這個數(shù)為四葉玫瑰數(shù)。編寫Python程序,判斷輸入一個數(shù)是否為四葉玫瑰數(shù)。
(1)四位數(shù)4326    (選填:是/不是)四葉玫瑰數(shù)。
(2)實(shí)現(xiàn)上述功能的Python 程序如下,請?jiān)趧澗€處填入合適代碼。
number=int(input("請輸入一個四位數(shù):"))
a = number∥1000
b =①   
c = number%100∥10
d = number%10
if ②    :
  print(number, "是四葉玫瑰數(shù)")
else:
  print(number, "不是四葉玫瑰數(shù)")
答案 (1)不是 (2)① number%1000∥100或number∥100%10 
②a**4+b**4+c**4+d**4==number:
7.判斷一個三位數(shù)i是否是水仙花數(shù)的條件是:它的各個位數(shù)字a、b、c的立方和與它本身是否相等,若相等為水仙花數(shù),請把下列語句補(bǔ)充完整。
a,b,c=1,5,3
if    :
  print("是水仙花數(shù)")
else:
  print("不是水仙花數(shù)")
答案 a**3+b**3+c**3==a*100+b*10+c
解析 掌握數(shù)字的表達(dá),掌握條件的表達(dá)。條件是各個數(shù)字的立方和與他本身相等,那么各個數(shù)字的立方和又該如何表達(dá)。
8.輸出某個溫度范圍內(nèi)(從低溫t1到高溫t2)氣體的密度變化情況,輸入溫度t1和t2,要保證溫度t1低于溫度t2,把下列語句補(bǔ)充完整。
t1,t2=4,3
if    :
  t=t1;t1=t2;t2=t
答案 t1>t2
解析 本題考查的知識點(diǎn)是選擇結(jié)構(gòu)的條件和交換語句的應(yīng)用。從三條語句t=t1;t1=t2;t2=t來看,是要交換t1和t2的值,根據(jù)題目的要求,從低溫t1到高溫t2,因此若t1比t2大時(shí),需要交換兩者。
9.每周星期一,杭州本地牌照尾號為1和9的汽車是限行的,在汽車牌照本中取得最后一個數(shù)字ch(字符串型),判斷該車星期一是否限行,請把下列語句補(bǔ)充完整。
pz="浙APW559"
if    :
  print("限行")
else:
  print("不限行")
答案 pz[-1]=="1" or pz[-1]=="9"或者int(pz[-1])==1 or int(pz[-1])==9
解析 兩個條件滿足一個就可以了,但要注意數(shù)據(jù)類型。
10.輸入一元二次方程系數(shù)a、b、c,輸出方程根的情況。請把下列語句補(bǔ)充完整。
a=int(input("a="))
b=int(input("b="))
c=int(input("c="))
d=①     
if a==0:
  print("一元二次方程a不能為零!")
elif②      :
  print("方程有一個根")
elif d>0:
  print("方程有兩個根")
else:
  print("方程沒有根")
答案?、賐**2-4*a*c?、赿==0
解析 根據(jù)d的值來判斷是否有根,執(zhí)行語句中已經(jīng)提示“a不能為零”和“方程有一個根”。
11.輸入一個字符串s,判斷字符串s中第i個字符的類型,類型分為4種:大寫字母、小寫字母、阿拉伯?dāng)?shù)字、其他字符。請回答下列問題。
s=input("please string:")
i=3
①     
tot=['其他字符','大寫字母','小寫字母','阿拉伯?dāng)?shù)字']
t=0
if ch>='A' and ch<="Z":
  t=1
elif ch>='a' and ch<="z":
t=2
elif ②      :#如果是數(shù)字
  t=3
print('當(dāng)前字符的類型為:',③      )
(1)請?jiān)诔绦騽澗€處填入合適的代碼。
(2)運(yùn)行當(dāng)前程序,輸入s的內(nèi)容為“Lm@”,則所屬類型對應(yīng)的列表元素為    。
答案 (1)①ch=s[i-1] 或ch=s[2]
②ch>='0' and ch<='9'或'9'>=ch>='0'
③tot[t]
(2)tot[0]
解析 本題考查的是多分支語句。字符串中第i個字符,則在字符串中的索引號為i-1,因此①中代碼為ch=s[i-1],因?yàn)閕=3,因此也可以寫為ch=s[2];②處語句的功能是判斷當(dāng)前字符是否為數(shù)字,因此代碼為ch>='0' and ch<='9',也可寫為'9'>=ch>='0';變量t對應(yīng)當(dāng)前字符所屬的類型,因此,③處代碼為tot[t]。(2)運(yùn)行當(dāng)前程序,輸入s的內(nèi)容為“Lm@”,則第3個字符為“@”,屬于其他字符類,因此對應(yīng)的列表元素為tot[0]。
12.設(shè)計(jì)一個程序,根據(jù)輸入的勞務(wù)報(bào)酬收入計(jì)算勞務(wù)報(bào)酬所得稅。解決此問題的流程圖如圖所示。
編寫的Python程序代碼如下所示,請?jiān)趧澗€處填入合適的代碼。
x=int(input("請輸入勞務(wù)費(fèi)"))
if x<0 or x>1000000:
  print("請檢查輸入的數(shù)據(jù)")
else:
  if x<=800:
    y=0
  elif①      :
    y=(x-800)*0.2
  else:
     ②     
print("應(yīng)交稅收"+③      )
答案?、賦<=4000?、趛=x*0.16?、踫tr(y)
解析 在多分支選擇結(jié)構(gòu)中,每個分支逐一匹配,在第二個分支中,已經(jīng)不滿足x<=800,即所有的x均大于800,因此只需要說明他小于4000即可。
13.COD(化學(xué)需氧量)是衡量水質(zhì)污染程度的重要指標(biāo)之一,污水處理時(shí)根據(jù)污水的COD指標(biāo)來計(jì)算COD去除劑的投放量。當(dāng)COD指標(biāo)x小于50時(shí),劑量為10,指標(biāo)大于等于50且小于等于500時(shí),劑量為1.2x/5,指標(biāo)超過500時(shí),劑量為1.5x/4。運(yùn)行程序后,輸入COD指標(biāo),輸出計(jì)算結(jié)果。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的代碼。
x=int(input("請輸入COD指標(biāo)x"))
if x<50:
  y=10
①      :
  y=1.2*x/5
else:
  ②     
print("所需劑量為"+str(y))
答案?、賓lif x<=500?、趛=1.5*x/4
解析 注意多分支選擇結(jié)構(gòu)的書寫格式。
14.模擬一個簡單計(jì)算器,輸入兩個數(shù)和一個運(yùn)算符(加、減、乘、除),進(jìn)行算術(shù)運(yùn)算,并輸出運(yùn)算結(jié)果。程序運(yùn)行時(shí),先后輸入第一個數(shù)、運(yùn)算符和第二個數(shù),輸出運(yùn)算結(jié)果。當(dāng)輸入的運(yùn)算符不是加、減、乘、除四種運(yùn)算符時(shí),則輸出“運(yùn)算符不正確”;當(dāng)進(jìn)行除法運(yùn)算時(shí),如果除數(shù)為0,提示輸出“除數(shù)不能為零”。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的代碼。
x=int(input("請輸入第1個數(shù)"))
ch=input("請輸入運(yùn)算符")
y=int(input("請輸入第2個數(shù)"))
flag=False
s="+-*/"
if ch in s:
  flag=True
  if ch=="+":
    z=x+y
  elif ch=="-":
    z=x-y
  elif ch=="*":
    z=x*y
  else:
    if①      :
      print("除數(shù)不能為0!")
      flag=False
    else:
      z=x/y
if②      :
  print("運(yùn)算的結(jié)果為:"+str(z))
else:
  print("運(yùn)算符不正確")
答案 ①y==0?、趂lag或flag==True
解析 提示"除數(shù)不能為0!",因此應(yīng)填寫當(dāng)y等于0時(shí)的情況。由于y=0時(shí),已經(jīng)輸出了內(nèi)容,此時(shí)flag=False,因此只有當(dāng)flag==True時(shí)才有輸出。
15.編寫Python程序,實(shí)現(xiàn)如下功能:輸入AQI指數(shù),輸出該AQI值所對應(yīng)的空氣質(zhì)量等級及空氣狀況。程序運(yùn)行效果如圖所示。
AQI指數(shù)所對應(yīng)的空氣質(zhì)量等級及空氣狀況如表所示:
請輸入AQI指數(shù)值:220
空氣質(zhì)量等級為:V 空氣狀況為:重度污染
AQI指數(shù) 0-50 51-100 101-150 151-200 201-300 >300
等級 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ
空氣狀況 優(yōu) 良 輕度污染 中度污染 重度污染 嚴(yán)重污染
實(shí)現(xiàn)上述功能的程序如下。
st="Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ"
aqi=float(input("請輸入AQI指數(shù)值:"))
if aqi<=50:
  ss="優(yōu)"
  dj=1
elif aqi<=100:
  ss="良"
  dj=2
elif①      :
  ss="輕度污染"
  dj=3
elif aqi<=200:
  ss="中度污染"
  dj=4
elif aqi<=300:
  ss="重度污染"
  dj=5
else:
  ss="嚴(yán)重污染"
  dj=6
②     
print("空氣質(zhì)量等級為:"+skydd,"空氣狀況為:"+ss)
(1)程序運(yùn)行時(shí),輸入200,則屏幕上顯示的內(nèi)容為    。
(2)請?jiān)诔绦騽澗€處填入合適的代碼。
答案 (1)空氣質(zhì)量等級為:Ⅳ,空氣狀況為:中度污染 (2)①aqi<=150 
②skydd=st[dj-1]
解析 本題主要考查的是多分支結(jié)構(gòu)。(1)aqi=200時(shí),對應(yīng)的等級為Ⅳ,屬于中度污染,因此屏幕上顯示的內(nèi)容為“空氣質(zhì)量等級為:Ⅳ,空氣狀況為:中度污染”。
(2)①處空氣狀況為“輕度污染”,因此條件為aqi<=150;空氣質(zhì)量等級存儲在字符串skydd中,字符串的第一個字符的索引號為0,因此②處代碼為skydd=st[dj-1]。
16.現(xiàn)有編號為"Xs001"、"Xs002"的兩位學(xué)生,分別輸入他們的性別和身高,按一定的規(guī)則進(jìn)行排列,輸出排列后的座位信息,實(shí)現(xiàn)該功能的程序代碼如下:
xm1="Xs001"
xm2="Xs002"
xb1=input("請輸入第1位學(xué)生性別:")
sg1=float(input("請輸入第1位學(xué)生身高(米):"))
xb2=input("請輸入第2位學(xué)生性別:")
sg2=float(input("請輸入第2位學(xué)生身高(米):"))
print("兩位同學(xué)座位依次是:",s)
if xb1==xb2 and sg1>sg2:
  s=xm1+" "+xm2
elif xb1==xb2 and sg1<=sg2:
  s=xm2+" "+xm1
elif xb1=="女":
  s=xm1+" "+xm2
else:
  s=xm2+" "+xm1
根據(jù)上述算法實(shí)現(xiàn)的功能,用嵌套的選擇結(jié)構(gòu)描述的流程圖如圖所示,
(1)將流程圖中①②處補(bǔ)充完整。
①_______________________________________②_______________________________________
(2)根據(jù)流程圖,將方框內(nèi)代碼用嵌套的選擇結(jié)構(gòu)實(shí)現(xiàn)相應(yīng)功能,并寫出Python語句塊。
答案 (1)①sg1>sg2 ?、趚b1=="女"
(2) if xb1==xb2:
    if sg1>sg2:
      s=xm1+" "+xm2
   else:
      s=xm2+" "+xm1
  else:
   if xb1=="女":
     s=xm1+" "+xm2
   else:
     s=xm2+" "+xm1
解析 (1)程序功能:相同性別按身高從高到低排列,不同性別女生排在前面,男生排在后面。當(dāng)條件xb1==xb2成立時(shí),表示是相同性別,則進(jìn)行身高的比較,因此①處為sg1>sg2 當(dāng)條件不成立時(shí),女生優(yōu)先,因此②處為xb1=="女"
(2)先用一個判斷結(jié)構(gòu)來區(qū)分是否相同的性別,在一個分支中嵌套另一個分支。課時(shí)4 分支結(jié)構(gòu)及程序?qū)崿F(xiàn)
課時(shí)目標(biāo)
1.理解分支結(jié)構(gòu)的執(zhí)行過程。2.掌握分支結(jié)構(gòu)的三種if語句格式的使用。3.能根據(jù)實(shí)際問題選用合適的分支結(jié)構(gòu)來解決。
1.選擇結(jié)構(gòu)通過判斷某些特定條件是否滿足來決定下一步的執(zhí)行流程,常見的有單分支選擇結(jié)構(gòu)、雙分支選擇結(jié)構(gòu)、________選擇結(jié)構(gòu)。
2.一個選擇結(jié)構(gòu)是一個語句塊,塊內(nèi)的語句一般縮進(jìn)4個空格。在Python中對縮進(jìn)有嚴(yán)格要求,可以根據(jù)縮進(jìn)來判斷語句的從屬關(guān)系。
3.選擇語句條件表達(dá)式結(jié)果的數(shù)據(jù)類型是________,值只有________和________兩個。
4.算法進(jìn)行程序?qū)崿F(xiàn)時(shí),分支結(jié)構(gòu)可用if語句來實(shí)現(xiàn)。
if語句一般格式是:
(1)單分支選擇結(jié)構(gòu)
if 〈條件〉:
〈語句塊1〉
(2)雙分支選擇結(jié)構(gòu)
if 〈條件〉:
〈語句塊1〉
else:
〈語句塊2〉
(3)多分支選擇結(jié)構(gòu)
if 〈條件1〉:
〈語句塊1〉
elif 〈條件2〉:
〈語句塊2〉

elif 〈條件N〉:
〈語句塊N〉
else:
〈語句塊N+1〉
①語句塊是一行或放在一起的多行語句,一般通過行縮進(jìn)來標(biāo)識if、else、elif下方的語句塊必須采用相同的縮進(jìn)。
②分支結(jié)構(gòu)的條件只判斷一次,符合條件的語句塊也只執(zhí)行一次。
              
例1 調(diào)查發(fā)現(xiàn)人們更傾向于選擇數(shù)字對稱的車牌號,如車牌號“浙H64M46”。于是小石編寫了一個判斷車牌號是否對稱的代碼,Python程序如下:
cp=input(″請輸入車牌號(格式如“浙H64M46”):″)
s1=cp[2:4]
s2=①____
if②____:
print(″不是對稱車牌″)
else:
print(″是對稱車牌″)
為實(shí)現(xiàn)功能,劃線處代碼應(yīng)為(  )
A.①cp[6:5:-1] ?、趕1==s2
B.①cp[5:] ②s1?。絪2
C.①cp[5:6] ②s1==s2
D.①cp[:-3:-1] ②s1?。絪2
聽課筆記:                                    
                                    
                                    
                                    
變式訓(xùn)練1 有下列Python程序段:
import random
s=input(″請輸入字符串:″)
x=random.randint(3,6) #產(chǎn)生一個[3,6]之間的隨機(jī)整數(shù)
n=len(s)
if len(s[0:x])r=s[x:n]+s[0:x]
else:
r=s[0:x]+s[x:n]
print(r)
執(zhí)行該程序段,若輸入“helloworld”(不包含雙引號),則輸出的結(jié)果不可能的是(  )
A.loworldhel B.oworldhell
C.helloworld D.worldhello
例2 用Python算法控制結(jié)構(gòu)描述“您所在街道25分鐘后小雨,50分鐘后雨停”,設(shè)t為距離天氣預(yù)報(bào)發(fā)布時(shí)間的間隔(單位:分鐘),下列選項(xiàng)正確的是(  )
A.if t>50:
   print(″雨?!?
 elif t>25:
   print(″小雨″)
B.if t>50:
   print(″雨?!?
 else:
   print(″小雨″)
C.if t>25 and t<=50:
   print(″小雨″)
 else:
   print(″雨停″)
D.if t>25:
 print(″小雨″)
 elif t>50:
   print(″雨?!?
聽課筆記:                                    
                                    
                                    
                                    
變式訓(xùn)練2 某市“一戶一表”水費(fèi)單價(jià)標(biāo)準(zhǔn)如下:第一檔次:每戶每月不超過17立方米的用水量,供水價(jià)格為2.4元/立方米;第二檔次:每戶每月17立方米(不含)到30立方米(含)的用水量,供水價(jià)格比第一檔提高0.5倍;第三檔次:每戶每月超過30立方米的用水量,供水價(jià)格比第一檔提高2倍。根據(jù)水費(fèi)單價(jià)標(biāo)準(zhǔn),用Python算法控制結(jié)構(gòu)描述“第二、三檔次的供水價(jià)格”。設(shè)volumn為某個月的用水量,price為供水價(jià)格初始值為2.4(單位;元/立方米),下列選項(xiàng)正確的是(  )
A.if volumn<=30:
   price=price*1.5
 else:
   price=price*3
B.if volumn>30:
   price=price*3
 elif volumn>17:
   price=price*1.5
C.if volumn<30:
   price=price*1.5
 else:
   price=price*3
D.if volumn>=30:
   price=price*3
 elif volumn>=17:
   price=price*1.5
例3 象限是平面直角坐標(biāo)系(笛卡爾坐標(biāo)系)中橫軸和縱軸所劃分的四個區(qū)域,每一個區(qū)域叫做一個象限。象限以原點(diǎn)為中心,x,y 軸為分界線,原點(diǎn)和坐標(biāo)軸上的點(diǎn)不屬于任何象限。某同學(xué)根據(jù)輸入的坐標(biāo)點(diǎn)(x,y)來判斷該坐標(biāo)點(diǎn)的位置所在,以下實(shí)現(xiàn)該分類的 Python 程序段中正確的是(  )
A.if x==0 and y==0: result=″原點(diǎn)″
 if x==0 or y==0: result=″數(shù)軸″
 if x?。? and y!=0:
  result=″象限″
B.if x==0 or y==0: result=″數(shù)軸″
 if x==0 and y==0:
   result=″原點(diǎn)″
 else: 
   result=″象限″
C.if x?。? and y?。?:  
   result=″象限″
 if x==0 or y==0:
   result=″數(shù)軸″
 else:
   result=″原點(diǎn)″
D.if x!=0 and y?。?: result=″象限″
 if x==0 or y==0: result=″數(shù)軸″
 if x==0 and y==0:
   result=″原點(diǎn)″
聽課筆記:                                    
                                    
                                    
                                    
變式訓(xùn)練3 BMI與身體狀況關(guān)系如圖所示
BMI<18 18≤BMI≤24 BMI>24
偏瘦 正常 偏胖
已知某同學(xué)的BMI值存儲在變量X中,小藍(lán)編寫程序判斷該同學(xué)的身體狀況信息,并保存到變量Y中,則下列程序段無法實(shí)現(xiàn)該功能的是(  )
A.Y = "偏瘦"
 if X>=18:
   Y = "正常"
 elif X>24:
   Y = "偏胖"
B.Y="偏胖"
 if X<18:
   Y = "偏瘦"
 elif X<=24:
   Y = "正常"
C.if X>24:
   Y = "偏胖"
 elif X>=18:
   Y = "正常"
else:
   Y = "偏瘦"
D.if 18<=X<=24:
    Y = "正常"
 else:
    Y = "偏瘦"
  if X>18:
    Y = "偏胖"
例4 正整數(shù)n若是它平方數(shù)的尾部部分若與該正整數(shù)n相等,則稱n為同構(gòu)數(shù)。判斷一個兩位數(shù)n是否是同構(gòu)數(shù)。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的語句。
n=int(input(″輸入一個正整數(shù)″))
if________:
  print('是同構(gòu)數(shù)')
else:
  print('不是同構(gòu)數(shù)')
聽課筆記:                                    
                                    
                                    
                                    
變式訓(xùn)練4 判斷當(dāng)前計(jì)算得到驗(yàn)證碼變量yzm(整型)與商品識別條碼s(字符串型)第13位是否相等,為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的語句。
s=″3203225155569″
if____________:
  print(″驗(yàn)證通過″)
else:
  print(″驗(yàn)證不通過″)
例5 輸入一個身份證號碼s(字符串型),如果他的第17位是奇數(shù),表示該公民的性別為男性,否則為女性。為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的語句。
s=″330522********5115″
if________:
  print(″女性″)
else:
  print(″男性″)
聽課筆記:                                    
                                    
                                    
                                    
變式訓(xùn)練5 輸入一個正整數(shù)n,判斷它是否是一個完全平方數(shù),若是則輸出“Yes”,否則輸出“No”。為實(shí)現(xiàn)上述功能,請?jiān)趧澗€處填入合適的語句。
n=int(input('please input n:'))
if________:
  print('Yes')
else:
  print('No')
例6 若三條線段的長度分別為a、b、c,判斷他們是否能構(gòu)成三角形(任意兩邊之和大于第三邊)。為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的語句。
a=float(input('please input a:'))
b=float(input('please input b:'))
c=float(input('please input c:'))
if________________:
  print('能構(gòu)成三角形')
else:
  print('不能構(gòu)成三角形')
聽課筆記:                                    
                                    
                                    
                                    
變式訓(xùn)練6 輸入一個密碼psd,若密碼的長度小于6位,則提示“密碼長度不能少于6位!”,否則提示“OK!”。為實(shí)現(xiàn)上述功能,請?jiān)诔绦騽澗€處填入合適的代碼。
psd=input('Please input password:')
if____________:
  print(″OK!″)
else:
  print(″密碼長度不能少于6位!″)
例7 用計(jì)算機(jī)模擬一個猜商品價(jià)格的游戲,首先計(jì)算機(jī)隨機(jī)產(chǎn)生一個[20,60]之間的整數(shù)x作為商品的價(jià)格,用戶輸入價(jià)格,若猜中了,提示“恭喜你猜中了!”,所猜價(jià)格與x的差值在5元之內(nèi),提示“加油,答案很接近!”,高于5元,提示“你猜得太高或太低了!”。程序代碼如下所示,請?jiān)诔绦騽澗€處填入合適的代碼:
# 計(jì)算機(jī)隨機(jī)產(chǎn)生一個[20,60]之間的整數(shù)x,并賦于變量shpjg,代碼省略
jg=int(input(″輸入你猜的價(jià)格:″))
if①____________:
  print(″恭喜你猜中了!″)
elif②____________:
  print(″你猜得太高或太低了!″)
else:
  print(″加油,答案很接近!″)
聽課筆記:                                    
                                    
                                    
                                    
變式訓(xùn)練7 某旅游景點(diǎn)規(guī)定,身高在1.2米以下的兒童免費(fèi),身高在1.2及米上,但不超過1.5米的兒童購買半價(jià)票,身高超過1.5米的游客購買全價(jià)票。實(shí)現(xiàn)上述功能的程序如下,請?jiān)诔绦騽澗€處填入合適的代碼。
h=float(input('請輸入身高(單位米):'))
if①____________:
  print('免費(fèi)')
elif②____________:
  print('請購買半價(jià)票')
else:
  print('請購買全價(jià)票')
變式訓(xùn)練8 用Python語言編寫一個程序,實(shí)現(xiàn)如下功能:
輸入某一學(xué)生的性別、身高和體重,計(jì)算該生的BMI指數(shù)并分析其體型情況,得到其體重指數(shù)分?jǐn)?shù),然后輸出。
體質(zhì)指數(shù)(BMI)=體重(kg)÷身高(m)2(如:70kg÷(1.75m)2=22.86)
等級 體重指數(shù)分?jǐn)?shù) 男 女
偏瘦 80 ≤16.4 ≤16.4
標(biāo)準(zhǔn) 100 16.5~23.2 16.5~22.7
超重 80 23.3~26.3 22.8~25.2
肥胖 60 ≥26.4 ≥25.3
編寫的程序代碼如下,將劃線處填寫完整。
xb=input(″輸入性別:″)
sg=float(input(″輸入身高(單位:m):″))
tz=float(input(″輸入體重(單位:kg):″))
①________ #計(jì)算BMI的值,并四舍五入保留兩位小數(shù)
print(″bmi值為:″,bmi)
if bmi<=16.4:
  bmizx= 1
elif xb==″男″ and bmi<=23.2 or xb==″女″ and bmi<=22.7:
  bmizx= 2
elif xb==″男″ and bmi<=26.3 or xb==″女″ and bmi<=25.2:
  bmizx= 3
②________:
  bmizx= 4
bz={1:″偏瘦″,2:″標(biāo)準(zhǔn)″,3:″超重″,4:″肥胖″}
print(″你的體型屬于″,③________)
1.有如下Python程序段:
a=[2,3,5,6,9]
x=min(a);y=max(a);ans=a[1]
if x**2>y:
  ans=ans+x**2
  ans=ans∥2
else:
  ans=ans+y
  ans=ans%y
print(ans)
執(zhí)行該程序段后,輸出的內(nèi)容是 (  )
A.6 B.5 C.4 D.3
2.有如下 Python 程序段:
# 輸入 3 個整數(shù)分別存儲到變量 a、b、c 中,代碼略
if a > b and a > c:  
  maxn = a
elif b > a and b > c:
  maxn = b
elif c > a and c > b:
  maxn = c
print("a,b,c 的最大值為:", maxn)
執(zhí)行該程序段,輸入下列 4 組測試數(shù)據(jù),無法正確輸出 a、b、c 的最大值的是
A.10,20,30 B.20,30,10
C.30,10,10 D.10,10,10
3.以下程序?qū)崿F(xiàn)與計(jì)算機(jī)玩“石頭剪刀布”的游戲(分別用0,1,2代表石頭、剪刀、布),游戲規(guī)則為:石頭贏剪刀、剪刀贏布、布贏石頭。代碼如下:
import random
pc=random.randint(0,2)
player=int(input("請輸入石頭(0)、剪刀(1)、布(2):"))
if① 
  print("你贏了,恭喜!")
elif player==pc:
  print("平手")
else:
  print("你輸了,再接再厲!")
解決該問題,上述程序①處填入語句正確的是 (  )
A.pc>player
B.pcC.pc-player==1 and player-pc==2
D.pc-player==1 or player-pc==2
4.某Python代碼如下,執(zhí)行后輸出的結(jié)果是 (  )
L=['pear','apple','orange']
n=len(L[2])
ans=3
if n%2==0:
  ans*=n
else:
  ans+=n
ans-=5
print(ans)
A.13 B.3 C.18 D.8
5.用Python 算法描述魚缸水溫預(yù)警功能:當(dāng)水溫高于32度時(shí), LED燈呈現(xiàn)“紅色”;低于27度時(shí),LED燈呈現(xiàn)“藍(lán)色”;其余情況LED燈呈現(xiàn)“綠色”。
# 通過傳感器獲取魚缸內(nèi)水溫值,并存儲到變量 t 中LED="綠色"
LED="綠色"
if        :
  if t>32:
    LED="紅色"
  else:
    LED="藍(lán)色"
print("LED 燈顏色顯示:",LED)
為實(shí)現(xiàn)上述功能,劃線處正確的 Python 表達(dá)式是 (  )
A.not(27C.t<27 or t>32 D.t<27 and t>32
6.下列選項(xiàng)中,對變量flag的賦值與其它三項(xiàng)不等價(jià)的是 (  )
A.if a>b:
   flag=True
 flag=False
B.flag=a>b
C.if a>b:
   flag=True
 else:
   flag=False
D.flag=False
 if a>b:
   flag=True
7.有如下程序段:
list1=["an","alpha","around","bee","back","cake"]
leng=len(list1)
if leng>6:
  z=list1[0]
else:
  z=list1[leng-1]
print(z)
執(zhí)行后,輸出的結(jié)果為    。
8.如圖所示的流程圖的功能是根據(jù)用水量求水費(fèi)。回答下列問題:
v=①     
if②      :
  s=2.4*v
elif v<=30:
 ?、邸    ?
else:
  s=4.3*v
print(s)
(1)請?jiān)诔绦騽澗€處填入合適的語句。
(2)結(jié)合算法和流程圖分析,若輸入用水量為28噸,則輸出的s值將為    ,若輸入用水量為100噸,則輸出的s值為    。
9.下列選項(xiàng)的語句中,與“若 x 小于 0,則 y=-1,否則,y=1”功能相同的是 (  )
A.if x<0:
   y=-1
 y=1
B.y=1
 if x<0
   y=-1
C.if x<0:
   y=-1
 if x>0:
  y=1
D.if x>0:
   y=1
 else:
   y=-1
10.用Python算法控制結(jié)構(gòu)描述“小李起床后20分鐘后去鍛煉,50分鐘后鍛煉結(jié)束去學(xué)?!?設(shè)t為起床后經(jīng)過的時(shí)間,下列選項(xiàng)正確的是 (  )
A.if t>50:
 print("去學(xué)校")
 else:
 print("去鍛煉")
B.if t>50:
 print("去學(xué)校")
 elif t>20:
 print("去鍛煉")
C.if t>20 and t<50:
 print("去鍛煉")
 else:
 print("去學(xué)校")
D.if t>20:
 print("去鍛煉")
 elif t>50:
   print("去學(xué)校")
11.用Python算法控制結(jié)構(gòu)描述:若水位高于10(不含)或者排水速度小于0.05(不含),發(fā)出警告。實(shí)時(shí)監(jiān)測到的水位用h表示,排水速度用v表示,下列代碼正確的是 (  )
A.if h>10:
 if v<0.05:
   print("警告!")
 else:
   print("正常!")
B.if h<=10 or v>=0.05:
   print("正常!")
 else:
   print("警告!")
C.if h<=10:
   print("正常!")
 elif v>=0.05:
   print("正常!")
 else:
   print("警告!")
D.if h>10:
   print("警告!")
 elif v<0.05:
   print("警告!")
 else:
   print("正常!")

展開更多......

收起↑

資源列表

<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. 主站蜘蛛池模板: 东源县| 静安区| 顺义区| 平凉市| 安徽省| 武义县| 利津县| 克山县| 侯马市| 宜川县| 洪泽县| 贡觉县| 尤溪县| 八宿县| 乳山市| 萨嘎县| 桃园市| 新巴尔虎右旗| 伊金霍洛旗| 调兵山市| 永康市| 泗水县| 盐源县| 霍城县| 兴宁市| 岳池县| 新邵县| 济南市| 昔阳县| 六盘水市| 罗田县| 赣榆县| 黄平县| 金坛市| 盈江县| 金乡县| 济源市| 来凤县| 茌平县| 上虞市| 新河县|