day8 函数作业

2018-07-25  本文已影响0人  跟我念一遍

1.写一个函数将一个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])

(注意:不要使⽤用列表⾃带的逆序函数)

list1 = [1, 2, 3]
list2 = []
def range1():
    for _ in range(len(list1)):
        list2.append(list1.pop())
    print(list2)
range1()

2.写一个函数,提取出字符串中所有奇数位上的字符

str1 = input('请输入:')
def input1():
    for index in range(len(str1)):
        if index % 2:
            print(str1[index], end='')
input1()

print('------------------------------')

3.写⼀个匿名函数,判断指定的年是否是闰年

def judge_year():
    year1 = int(input('请输入年份:'))
    if not year1 % 4:
        print('是闰年')
    else:
        print('不是闰年')
judge_year()

4.使⽤用递归打印:

# n = 3的时候
#   @
#  @@@
# @@@@@
# n = 4的时候:
#    @
#   @@@
#  @@@@@
# @@@@@@@
count = 1
def print_pic(n):
    global count
    count += 1
    if n == 1:
        print(' '* count, '@', sep='')
        return
    print_pic(n-1)
    print(' '* (count - n), '@'*(2*n-1))
print_pic(3)

5.写函数,检查传⼊列表的长度,如果⼤于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

list1 = [1, 2, 3, 4]
list2 = []
def check_change():
    if len(list1) > 2:
        for item in list1[0:2]:
            list2.append(item)
    return list2

print(check_change())

6.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调⽤者。

def sum1(n):
    if n == 0 or n == 1:
        return n
    return sum1(n-1)+sum1(n-2)
print(sum1(10))

7.写一个函数,获取列表中的成绩的平均值,和最高分

list1 = [55, 65, 98, 96.36, 57, 67]

def num1():
    sum1 = 0
    ave1 = 0
    count = 0
    max_score = list1[0]
    for item in list1:
        sum1 += item
        count += 1
        ave1 = sum1/count
        if item > max_score:
            max_score = item
    print(ave1, max_score)
num1()

8.写函数,检查获取传⼊列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用

def new_list1(list):
    list1 = list[1::2]
    return list1
print(new_list1([1, 2, 3, 4, 5, 6]))
print(new_list1((1, 2, 3, 4, 5, 6)))
image.png
上一篇下一篇

猜你喜欢

热点阅读