文章目录
- 第十一题(列表遍历)
- 第十四题(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]。
答案:
运行结果: