6-1 求列表中能被 3 整除的数 (10 分)
本题要求实现一个函数 mult3 (),带一个整数列表作为输入参数,仅仅输出列表中是 3 的倍数的那些数值,每个值占一行。
函数接口定义:
mult3(lst)
lst 是传入的整数列表。
裁判测试程序样例:
# 请在这里填写答案
def main():
mylist = [3, 1, 6, 2, 3, 9, 7, 9, 5, 4, 5]
mult3(mylist)
main()
输入样例:
无输入:
结尾无空行
输出样例:
输出:
3
6
3
9
9结尾无空行
参考答案
答案不唯一
def mult3(lst):
for item in lst:
if item % 3 == 0:
print(item)
6-2 求列表中后一个数是前一个数的两倍的数 (10 分)
本题要求实现一个函数 doubles (),带一个整数列表作为输入参数,输出列表中正好是前一个数的两倍的整数,每个数占一行。
函数接口定义:
doubles(lst)
lst 是一个整数列表
裁判测试程序样例:
# 请在这里填写答案
def main():
mylist = [3, 0, 1, 2, 3, 6, 2, 4, 5, 6, 12]
doubles(mylist)
main()
输入样例:
无输入数据
结尾无空行
输出样例:
在这里给出相应的输出。例如:
2
6
4
12
结尾无空行
参考答案
答案不唯一
def doubles(lst):
for i in range(len(lst) - 1):
if lst[i + 1] == lst[i] * 2:
print(lst[i + 1])
7-1 找列表中最大元素的下标
(高教社,《Python 编程基础及应用》习题 4-7 (4 分)
输入一个整数列表,找出整数列表中最大元素的下标,如果最大元素的个数超过 1,那么请打印输出所有的下标。
输入格式:
数字 1, 数字 2, 数字 3,...., 数字 n
输出格式:
下标 1 下标 2 ... 下标 k
输入样例:
3,2,3
结尾无空行
输出样例:
0
2
结尾无空行
参考答案
答案不唯一
lst = list(map(int, input().split(",")))
largest = max(lst)
for i in range(len(lst)):
if lst[i] == largest:
print(i)
lst, i = list(map(int, input().split(","))), 0
largest = max(lst)
while True:
try:
position = lst.index(largest)
print(position + i)
i += 1 # 位置变动
lst.pop(position) # 删除
except ValueError:
break