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

第四章 程序設計基礎 練習(含答案)2023—-2024學年高中信息技術粵教版(2019)必修1

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

第四章 程序設計基礎 練習(含答案)2023—-2024學年高中信息技術粵教版(2019)必修1

資源簡介

第四章 程序設計基礎 練習
一、選擇題
1.下列Python表達式的值為數值5的是( )
A.int(max(["36","100","5"])) B.len([1,2,3,"IT"])
C.ord("e")-ord("a") D.str(abs(-5))
2.有如下Python程序段:
x,y=11,6
if x%2!=0:
if y%3==0:
s=x*y
else:
s=x//y
else:
s=x+y
程序執行后,s的值為( )
A.66 B.17 C.1 D.報錯
3.某店鋪優惠活動:消費滿688后打7折,不滿額則9折。計算優惠價格的Python程序段如下:
if x>=688:
y=x*0.7
else:
y=x*0.9
下列選項中與上述功能相同的是( )
A. B. C. D.
4.已知字典 medals={"金牌":201,"銀牌":111,"銅牌":71},其中鍵是獎牌,值是數量,則引用"金牌"數量的方法是( )
A.medals ["金牌"] B.medals ("金牌") C.medals [0] D.medals (1)
5.有如下Python程序段:
n=int(input())
to_hex=['A','B','C','D','E','F']
if n<10:
res=n
else:
res=to_hex[n%10]
輸入n的值為12,程序執行后,res的值為( )
A.F B.E C.D D.C
6.下列Python語句不正確的是( )
A.numbers=[1,2,3,4] B.a,b=b,a
C.x,y,z="AI",[5,1] D.n%=2
7.Python表達式3*7**2//10的值是( )
A.4 B.14 C.7 D.47
8.有如下Python程序段:
import random
a=[0]*6
i=0
while i<6:
a[i]=random.randint(1,5)*2
if a[i]==i*2:
a[i]=0
i+=1
elif a[i]%2==i%2:
a[i]=a[i]-1
i+=1
print(a)
執行該程序后,輸出的結果可能是( )
A.[11,0,3,0,0,0] B.[0,0,1,0,3,0]
C.[1,0,5,0,4,0] D.[3,0,5,0,5,0]
9.有如下Python程序段:
a=[[1,1],[2,2],[3,3],[4,-1]]
head=0
cur=a[head][1]
a[head][1]=-1
while cur!=-1:
p=a[cur][1]
a[cur][1]=head
head,cur=cur,p
則程序運行后,a的值為( )
A.[[1,1],[2,2],[3,3],[4,-1]] B.[[1,-1],[2,0],[3,1],[4,2]]
C.[[4,1],[3,2],[2,3],[1,-1]] D.[[4,-1],[3,0],[2,1],[1,2]]
10.有如下Python程序:
import random
a=[2,4,5,6,6,6,8,8,10,12]
key=int(random.random()*5+5)
i=0;j=9;s=0
while i<=j:
m=(i+j)//2
if a[m]<=key:
i=m+1
else:
j=m-1
s+=m
程序運行后,s的值不可能是( )
A.10 B.14 C.19 D.22
11.數組a中存儲著全校學生的學號和BMI信息,格式為 [[“0101”,19.2], [“0102”,18.5], [“0103”,20.1],……]。其中每條數據的第一項為學號,第二項為BMI值。數組a已經按學號升序排序,現要求按照BMI值進行降序排序,BMI相同的情況下仍然按照學號保持升序。則下列程序段可以實現該功能的是( )
A. B.
C. D.
A.A B.B C.C D.D
12.定義如下函數:
def move(n,a,b,c):
if n==1:
print(a,”->”,c)
return
move(n-1,a,c,b)
move(1,a,b,c)
move(n-1,b,a,c)
執行語句move(3,”A”, ”B”, ”C”),輸出的第一行內容是( )
A.B->C B.A->C C.C->A D.A->B
13.在二維數組 a 中,a[3][1]表示的是第幾行第幾列的數據( )
A.第1行3列 B.第3行1列
C.第4行2列 D.第2行4列
14.數據類型可以分為( )
A.基本數據類型和原子數據類型 B.基本數據類型和結構數據類型
C.原子數據類型和編程數據類型 D.應用數據類型和結構數據類型
15.有如下Python程序段:
s="cbcbaabcbbc"
st=s[0]
for i in range(1, len(s)):
if len(st)==0 or s[i]!=st[-1]:
st=s[i]+st
else:
st=st[0:len(st)-1]
print(st)
執行該段代碼后,輸出結果為( )
A.cbbc B.cbc C.bc D.b
16.有如下Python程序段:
from random import randint
a=[0]*6
i=0
while i<6:
a[i]=randint(1,10)
if a[i]%2==i%2:
i=i-1
elif a[i]%2==0:
a[i]=a[i]+1
i=i+1
執行該段代碼后,列表a的值不可能為( )
A.[5,3,1,11,9,3] B.[11,5,5,7,3,5] C.[1,3,9,11,1,11] D.[9,7,7,5,9,3]
17.有如下Python程序段:
a=[3,5,2,4,1]
sum1=m=a[0]
for i in range(1,len(a)):
if a[i]m=a[i]
suml+=m
執行該程序后,sum1的值為( )
A.6 B.9 C.11 D.15
18.“回文串”是一個正讀和反讀都一樣的字符串。下列Python段的功能是:輸入一個字符串,判斷該字符串是否為回文串,若是則輸出“Yes”,否則輸出“No”。
s=input("請輸入字符串:")
i=0
j=len(s)-1
flag=True
while iif s[i]==s[j]:
i+=1

else:
flag=False
if ② :
print("Yes")
else:
print("No")
則程序劃線①②③處應填入的語句為( )
A.①j+=1 ②flag B.①j+=1 ②not flag
C.①j-=1 ②flag D.①j-=1 ②not flag
19.根據國家標準,室內空氣質量指數的正常范圍為0.5~2.5,如果空氣質量指數大于2.5,則表明空氣質量較差,空氣質量指數小于0.5,表明空氣質量較好,下列選項能正確表示這三種情況的是( )
A.if zs>2.5: print("較差") elif 0.5zs>0.5: print("正常") elif zs<0.5: print("較好") else: print("較差") C.if zs>2.5: print("較差") elif not zs>0.5: print("較好") else: print("正常") D.if zs<0.5: print("較好") elif not zs>2.5: print("正常") elif zs>2.5: print("較差")
A.A B.B C.C D.D
20.某DataFrame對象df共包含6個數據列、30個數據行,其中第2列為“姓名”列,下列語句中能讀取df對象中“姓名”列所有數據的是( )
A.df."姓名" B.df. columns[1] C.df[姓名] D.df["姓名"]
二、填空題
21.若輸入987421,輸出的結果是 。
n = int(input("n=")) n = n % 1000 n = n // 100 print (n)
22.x = 20
if x = 10:
value = 4*x
else:
value = 5*x
print(value)
本程序中分數變量,變量名稱是 ,變量的數據類型是
23.閱讀如下一段程序,回答以下問題。
x=20
if x>=10:
value=4*x
else:
value=5*x
print(value)
該程序采用 結構,程序輸出結果是
24.把數式寫成Python語言的表達式 。
25.Python表達式5<-5 or not 5<=5 and 5!=5的值是 。
三、判斷題
26.在Python語言中,4和"4"的數據類型是一樣的。( )
27.“student id”是一個正確的變量名。( )
28.Python程序 a=10;a=8;print(a)的運行結果是8。( )
29.在Python中,運算符*=的優先級要高于運算符+=。( )
30.實現控制循環的跳轉需要用到break和continue兩個關鍵字。其中,break是中斷循環,continue是跳出本次循環的執行。( )
四、操作題
31.小光和小明根據某地機動車限行提示,如下圖a所示,分別設計了根據尾號數字實現限行提醒的程序(程序A和程序B)。目前設計進度只能判斷車牌的最后一位是數字的情況,如輸入車牌號碼“滬AGU332”,輸出“星期一限行”,如下圖b所示。

圖a 圖b
程序編寫如下,請回答下列問題
程序A 程序B
(1)請在劃線處填入合適代碼,程序A中的①②和程序B中①②填入代碼是一樣的,填一處即可:
① 、② 。
(2)在上述程序中,變量lic的數據類型為 (單選,填字母:A.整型/B.字符串/C.邏輯型)
(3)程序A和程序B哪段程序效率高 (單選,填字母:A.程序A/B.程序B)
(4)調試程序時出現1處報錯,如下圖所示
如何修正程序為
32.某國計劃在海岸線上安裝雷達探測海上的島嶼。假設海岸線是一條無限的直線,一邊是陸地,另一邊是海洋。為了找到覆蓋所有島嶼所需雷達裝置的最小數量,編寫程序:輸入島嶼數量n、雷達裝置的覆蓋距離d以及每個島嶼的位置(由x,y坐標值表示),若雷達能覆蓋所有島嶼,則輸出所需雷達的最小數量;否則,輸出“無法覆蓋”。
如圖所示海洋中有3個島嶼,位置分別為(1,2)、(-3,1)、(2,1),雷達的覆蓋距離為2,則至少需要安裝2個雷達裝置,分別安裝在(-2,0),(1,0)位置上。
(1)若上述雷達覆蓋距離修改為3,則至少需要安裝的雷達裝置數為
(2)實現上述功能的Python程序如下,請在劃線處填入合適的代碼。
from math import sqrt
n = int(input('請輸入島嶼的數量n:'))
d = int(input('請輸入雷達的半徑d:'))
# qj[i][0]、qj[i][1]分別存儲可以覆蓋第i個島嶼的雷達,能安裝的最左邊和最右邊位置
qj = [[0, 0] for i in range(n)]
flag = True
for i in range(n):
x = int(input('島嶼坐標x:'))
y = int(input('島嶼坐標y:'))
if y > d:
flag = False
break
qj[i][0] =
qj[i][1] = x + sqrt(d * d - y * y)
if :
print('無法覆蓋')
else:
# 按左端點升序排序,左端點相同時按右端點升序排序
for i in range(n - 1):
k = i
for j in range(i + 1, n):
if :
k = j
if k != i:
qj[k], qj[i] = qj[i], qj[k]
num = 1
cur = qj[0][1]
for i in range(1, n):
if cur > qj[i][1]:
cur = qj[i][1]
elif :
num += 1
cur = qj[i][1]
print('安裝的雷達數為:', num)
(3)若將程序中加框處代碼修改為 (單選:填字母),不影響的正確性。
A.i==n-1 B.i==n C.i < n D.y > d
(4)根據代碼可知,對于n個島嶼,在進行排序時最多的交換次數為 。
33.如下自定義函數實現一個加減法算式的運算,要求輸入一個只包含運算符“+”和運算符“-”的合法算式,輸出算式的運算結果。具體程序如下,請在劃線處填入合適的代碼。
def fun(s):
num1=i=0
while iif s[i]>="0" and s[i]<= "9":
num1=
i+=1
elif s[i]== "+" or s[i]<= "-":
x=1
if s[i]== "-":
x=-1
num2=0;j=i+1
while jif s[j]>= "0" and s[j]<= "9":
num2=mum2*10+int(s[j])
j+=1
elif s[j]== "+"or s[j]== "-":
return fun(str(num1+x*num2)+ )
if j==len(s):
return
34.在一個正整數序列中,由若干個連續的數據元素組成的序列,稱為該序列的子序列?,F輸入一個整數序列和一個整數m,尋找一個滿足下列條件的子序列:
①該子序列的各元素之和不能超過m。
②在所有滿足條件①的子序列中尋找長度為最大(元素個數最多)的子序列。
若滿足條件的子序列有多個,則輸出最左邊的子序列。
例如,整數序列為“1,5,4,2,3,1,5,8,1”,m的值為15,則元素之和不超過m的最長子序列有“[1,5,4,2,3]”和“[4,2,3,1,5]”,長度均為5,根據題目要求可知,最后輸出的最長子序列為“[1,5,4,2,3]”。讀入一個由整數組成的數據序列,輸入m,輸出符合條件的最長子序列及該子序列的長度。程序運行界面如圖所示。
請回答下列問題:
(1)若原序列為“3,5,4,5,2,3,1,8,3,4”,m=20,則輸出的最長子序列為 。
(2)函數sumif(b)的功能是求列表b中元素的前綴和,即sumx[1]=b[0],sumx[i]=b[0]+…+b[i-1],請在程序劃線處填入合適的代碼。
def sumif(b):
sumx[0]=0
for i in range(1,n+1):
sumx[i]=
return sumx
(3)主程序如下,請在程序劃線處填入合適的代碼。
#讀入數據,并存入列表d中,代碼略
print("序列為:", d)
n=len(d)
m=int(input("請輸入m的值:"))
sumx=[0]*(n+1)
sumx=sumif(d)
maxn=0
maxposi=-1
for i in range(0,n+1):
j=i
while :
j=j+1
if j-i-1>maxn:
maxposi=i
print("最長子序列長度為:", maxn)
print("最長子序列為:",d[maxposi:maxn+maxposi])
五、簡答題
35.列舉Python程序設計語言中,for循環和while循環的基本的格式。
36.什么是常量,什么是變量?常量和變量的特點是什么?
37.從鍵盤上輸入一個字符,當輸入的是英文字母時,輸出“輸入的是英文字母”;當輸入的是數字時,輸出“輸入的數字”;當輸入的是其他字符時,輸出“輸入的是其他字符”。
參考答案
1.A
2.A
3.D
4.A
5.D
6.C
7.B
8.D
9.B
10.B
11.D
12.B
13.C
14.B
15.D
16.B
17.C
18.C
19.D
20.D
21.4
22.value int
23.分支 80
24.(a+b)/(2*a)
25.False
26.錯誤
27.錯誤
28.正確
29.錯誤
30.正確
31.lic[-1]或其他適合答案 ["5","0"] B A 將最后一個print語句采用縮進格式書寫或其他適合答案。
32.1 x -sqrt(d * d - y * y) qj[k][0]>qj[j][0] or qj[k][0]==qj[j][0] and qj[k][1]>qj[j][1] cur33.num1*10+int(s[i]) s[j:] num1+num2*x
34.[5,4,5,2,3,1]或5,4,5,2,3,1 或545231 sumx[i-1]+b[i-1] j<=n and sumx[j]-sumx[i]<=m (說明:不能寫為sumx[j]-sumx[i]<=m and j<=n) maxn=j-i-1
35.for 循環結構的基本格式:
for 循環變量 in 列表:
語句或語句組
While循環格式:
While(表達式):
語句或者語句組
36.常量是指在程序運行過程中其值始終不發生變化的量,通常是固定的數值或字符串。變量是指在程序運行過程中其值可以發生變化的量。常量是固定值,變量可以多次賦值。
37.ch=input("請輸入一個字符:")
if ch.isdigit()==True:
print("輸入的是數字")
elif ch.isalpha()==True:
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. 主站蜘蛛池模板: 景东| 怀化市| 南昌县| 焦作市| 广水市| 界首市| 海晏县| 新沂市| 清涧县| 伽师县| 五寨县| 龙岩市| 武城县| 资溪县| 湘阴县| 遂溪县| 临泉县| 台东市| 乳源| 裕民县| 会理县| 伊春市| 嘉义县| 庆云县| 马公市| 浙江省| 六枝特区| 荥阳市| 兴宁市| 礼泉县| 阿鲁科尔沁旗| 安远县| 凤冈县| 绥阳县| 景泰县| 宁河县| 苍梧县| 石狮市| 沧源| 许昌县| 邢台市|