文章目錄
- 第十一題(列表遍歷)
- 第十四題(len)
- 第十七題(len、insert)
- 第二十一題(append)
- 第三十題(二維列表)

第十一題(列表遍歷)
題目:
解析:
- s += a[i]*b[i] 等價于 s = s+ a[i]*b[i] ,所以 第一空先初始化 s=0
- 循環遍歷3次,所以第二空**range(3)**
答案:
# 請在______處使用一行代碼或表達式替換
# 注意:請不要修改其他已給出代碼a = [3,6,9]
b = eval(input()) #例如:[1,2,3]
s = 0
for i in range(3):s += a[i]*b[i]
print(s)
運行結果:
第十四題(len)
題目:
解析:
- 輸出結果是列表a與b對應元素的和,所以第二空**a[i]+b[i]**。
- 第一空遍歷次數:3 或者 len(a) 或者 len(b) 都可以。
答案:
# 請在______處使用一行代碼或表達式替換
# 注意:請不要修改其他已給出代碼a = [3,6,9]
b = eval(input()) #例如:[1,2,3]
c = []
for i in range(len(b)):c.append(a[i]+b[i])
print(c)
運行結果:
第十七題(len、insert)
題目:
解析:
- 將a列表元素插入b,是需要指定位置進行插入的。 所以第一空是len(a),遍歷a去進行插入。
- 輸出是b,那么指定插入位置的任務只能交給了j,插入位置分別是2、4、6,由于python從0開始索引,所以對應的索引序號為1、3、5,所以第三空這里j+=2。
- 如何在一個列表的指定位置進行插入呢?
ls.insert(i,x)表示在列表ls第i個位置增加元素x。
b.insert(j,a[i]) 表示在b列表的第j個位置插入a[i]。
答案:
# 請在______處使用一行代碼或表達式替換
# 注意:請不要修改其他已給出代碼a = [3,6,9]
b = eval(input()) #例如:[1,2,3]
j=1
for i in range(len(a)):b.insert(j,a[i])j+= 2
print(b)
運行結果:
第二十一題(append)
題目:
解析:
- 第一空設置輸入。a, b, c = eval(input())
- 假設用戶輸入以逗號分隔的三個數字 :1,2,3 。經過input后其實是“1,2,3”,經過eval函數后把兩端引號去掉。 那輸入就相當于 a,b,c=1,2,3 ,這代表把1,2,3分別賦值給a,b,c。
- 第二空就是生成等差數列。循環c次,每次循環生成的值就應該是首項a+公差b第i個,即 a+bi 。以列表輸出,給列表里面加元素用append ,所以第二空ls.append(a+b*i)。
答案:
a, b, c = eval(input())
ls = []
for i in range(c):ls.append(a+b*i)
print(ls)
運行結果:
第三十題(二維列表)
題目:
解析:
- cnt對應最后的總成績,所以第一空初始化為**0**。
- 遍歷加的是數字即分數部分,所以索引從1到4,不從0開始。第二空 (1,4)
- 每個人的總成績是自己各科成績之和,所以相加時對應 st[i]。
答案:
運行結果: