- 列表操作
任务描述
本关任务:给定一个列表,对其依次执行下列操作:1.把列表中的元素升序排序。2.删除列表中的最后一个元素。3.把列表中第一个元素移动到列表尾部。4.返回新列表。
相关知识
为了完成本关任务,你需要掌握:1.列表相关操作。
编程要求
根据提示,依次执行上述步骤,返回新列表。
测试说明
平台会对你编写的代码进行测试:
默认列表为:array = [85,96,2,5,3,566,0,91,5234,5555,89,62,34]
测试输入:
预期输出:[2, 3, 5, 34, 62, 85, 89, 91, 96, 566, 5234, 0]
'''
将array依次执行以下操作
1.把列表中的元素升序排序。
2.删除列表中的最后一个元素。
3.把列表中第一个元素移动到列表尾部。
4.返回新列表。
'''
array = [85,96,2,5,3,566,0,91,5234,5555,89,62,34]
#*******请输入您的代码********#
#***********begin************#
array.sort()
array.pop()
x=array.pop(0)
array.append(x)
print(array)
#***********end************#
- 返回列表中最大和第二大的元素的值
任务描述
本关任务:编写一个能返回传入列表中最大和第二大元素的值的函数。
相关知识
为了完成本关任务,你需要掌握:1.列表操作,2.循环语句,3.if条件语句。
编程要求
根据提示,在右侧编辑器补充代码,返回传入列表的第二大的值和最大值,要求不破坏原有列表。
测试说明
平台会对你编写的代码进行测试:
测试输入:[1,2,3,4,5,6]
预期输出:(5,6)
测试输入:[11,2,30,4,55,6]
预期输出:(30,55)
#x为传入的列表,完成函数编写,使其返回列表中最大值和第二大的值
def max2(x):
# 请在此处添加代码 #
# *************begin************#
x2 = x.copy()
x2.sort()
m1 = x2[-2]
m2 = x2[-1]
# **************end*************#
return m1,m2 #m1是第二大的值,m2是最大值
- 计算指定的年月日是这一年的第几天
任务描述
本关任务:编写能返回年月日是这一年的第几天的函数。
相关知识
为了完成本关任务,你需要掌握:1.简单函数定义及调用,2.列表操作。
编程要求
根据提示,在右侧编辑器补充代码,返回输入年月日是这一年的第几天。
测试说明
平台会对你编写的代码进行测试:
测试输入:1981, 12, 31;
预期输出:365;
测试输入:1980,11,28;
预期输出:333;
def is_leap_year(year):
"""
判断指定的年份是不是闰年
:param year: 年份
:return: 闰年返回True平年返回False
"""
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
def which_day(year, month, date):
"""
计算传入的日期是这一年的第几天
:param year: 年
:param month: 月
:param date: 日
:return: 第几天
"""
days_of_month = [
[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
[31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
][is_leap_year(year)]
total = 0
for index in range(month - 1):
total += days_of_month[index]
return total + date
- 打印杨辉三角
任务描述
本关任务:编写一个能根据输入行数打印杨辉三角的函数。
相关知识
为了完成本关任务,你需要掌握:1.列表操作,2.循环语句,3.if条件语句。
测试说明
平台会对你编写的代码进行测试:
测试输入:6;
预期输出:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
测试输入:2;
预期输出:
1 1 1
#打印杨辉三角
#(不需返回函数值,直接打印)
def printYH(num):
''':param num: 杨辉三角行数'''
# 请在此处添加代码 #
# *************begin************#
list = []
for n in range (num):
row = [1]
list.append(row)
if n==0:
for i in row:
print(i,end = '\t')
print()
continue
for m in range(1,n):
row.append(list[n-1][m-1]+list[n-1][m])
row.append(1)
for i in row:
print(i,end = '\t')
print()
# **************end*************#