1.写⼀个函数将⼀个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])(注意:不要使⽤列表⾃带的逆序函数)
def reverse_list(list_name):
new_list = []
for element in list_name[::-1]:
new_list.append(element)
return new_list
print(reverse_list([1, 2, 3]))
Output:
[3, 2, 1]
2.写⼀个函数,提取出字符串中所有奇数位上的字符
def get_char_in_odd(string):
new_str = ''
for char in string[1::2]: # 获取奇数位上的元素
new_str += char # 将奇数位上的所有字符拼接在一起
return new_str
print(get_char_in_odd('68ftguyhb*#$%^&'))
Output:
8tuh*$^
3.写⼀个匿名函数,判断指定的年是否是闰年
is_leap_year = lambda year: True if year % 4 == 0 and year % 100 != 0 or year % 400 == 0 else False
print(is_leap_year(2000))
Output:
True
4.使⽤递归打印:
n = 3的时候
@
@@@
@@@@@
n = 4的时候:
@
@@@
@@@@@
@@@@@@@
5.写函数,检查传⼊列表的⻓度,如果⼤于2,那么仅保留前两个⻓度的内容,并将新内容返回给调⽤者。
def check_length(list):
new_list = []
if len(list) > 2:
new_list.extend(list[0:2])
else:
new_list = list
return new_list
print(check_length([1, 2, 3]))
Output:
[1, 2]
6.写函数,利⽤递归获取斐波那契数列中的第 10 个数,并将该值返回给调⽤者。
def fib(n=10):
if n <= 1:
return n
else:
return fib(n-1) + fib(n-2)
print(fib())
Output:
55
7.写⼀个函数,获取列表中的成绩的平均值,和最⾼分
def get_avg_and_max(scores):
sum_score = 0
avg_score = 0
max_score = 0
for score in scores:
if max_score < score:
max_score = score
else:
pass
sum_score += score
avg_score = sum_score / len(scores)
return avg_score, max_score
avg_score, max_score = get_avg_and_max([75, 97, 87])
print(avg_score, max_score)
Output:
86.33333333333333 97
8.写函数,检查获取传⼊列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def get_odd_ele(seq):
new_list = []
new_list = list(seq[1::2])
return new_list
seq1 = (1, 5, 6)
seq2 = [1, 2, 5, 7]
print(get_odd_ele(seq1))
print(get_odd_ele(seq2))
Output:
[5]
[2, 7]