day008 作业 7-25

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]

你可能感兴趣的:(day008 作业 7-25)