day9 作业
2018-07-25 本文已影响0人
七夜_174e
1.写一个函数将一个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自带的逆序函数)
def ni_list(list1):
for index in range(len(list1)):
#取出对应元素
item = list1.pop(index)
#插入到最前面
list1.insert(0,item)
print(ni_list([1,2,3]))
[3, 2, 1]
2.写一个函数,提取出字符串中所有奇数位上的字符
def find_str(string):
str1 = string[0::2] #声明一个空串用来保存提取出来的字符
return str1
print(find_str('sdawe2133da!!'))
sdaweda
3.写一个匿名函数,判断指定的年是否是闰年
def find_years(years):
if years % 100 == 0 and years % 400 == 0:
print('%s是闰年' % years)
elif years % 100 != 0 and years % 4 == 0:
print('%s是闰年' % years)
else:
print('%s不是闰年' % years)
find_years(2019)
year = lambda x: ('%s是闰年' % x) if x % 100 == 0 and x % 400 == 0 or x % 100 != 0 and x % 4 == 0 else ('%s不是闰年' % x)
print(year(2020))
2019不是闰年
2020是闰年
4.使用递归打印:
n = 3的时候
@
@@@
@@@@@
n = 4的时候:
@
@@@
@@@@@
@@@@@@@
def print_star(n, m=0):
s = '@' * (n * 2 - 1)
if n == 0:
return
print_star(n-1, m+1)
print(' ' * m, end='')
print(s)
print_star(5)
@
@@@
@@@@@
@@@@@@@
@@@@@@@@@
5.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def check_list(list1):
list2 = []
if len(list1) >= 2:
list2.append(list1[0])
list2.append(list1[1])
return list2
print(check_list([1, '3224d', '!!!!', 4]))
[1, '3224d']
6.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。
def sum2(n=10):
if n == 1 or n == 2:
return 1
return sum2(n-1) + sum2(n-2)
print(sum2())
55
7.写一个函数,获取列表中的成绩的平均值,和最高分
def get_score(scores):
sum1 = 0
return sum(scores)/len(scores), max(scores)
print(get_score([13, 435, 54, 233]))
(183.75, 435)
8.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
利用切片