day8作业

2018-07-25  本文已影响0人  HavenYoung

1.写⼀个函数将⼀个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])(注意:不要使⽤列表⾃带的逆序函数)

def swap(list, index1, index2):
    temp = list[index1]
    list[index1] = list[index2]
    list[index2] = temp
    return list

# 倒序功能
def list_swap(list):
    length = int(len(list))
    for index in range(int(length/2)):
        list = swap(list, index, length - 1 - index)
    return list

list1 = [1, 2, 3, 4, 5]
print(list_swap(list1))
print(list1)

结果:

[5, 4, 3, 2, 1]
[5, 4, 3, 2, 1]

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

def get_odd(string):
    string_odd = ''
    for index in range(len(string)):
        if not index%2:
            string_odd += string[index]
    return string_odd

print(get_odd('123456789'))

结果:

13579

3.写⼀个匿名函数,判断指定的年是否是闰年
4.使⽤递归打印:
n = 3的时候
@
@@@
@@@@@
n = 4的时候:
@
@@@
@@@@@
@@@@@@@

def print_star(n):

    if n == 1:
        print(' '*(ward - n) + '*')
        return

    print_star(n-1)
    print(' '*(ward - n), end='')
    print('*'*(2*n-1))

ward = 5
print_star(5)

结果:

    *
   ***
  *****
 *******
*********

方法二(骆老师指点)

def print_star(row, space=0):
    if row>1:
        print_star(row - 1, space + 1)
        print(' ' * space, end='')
        print('*' * (2 * row - 1))
    else:
        print(' '*space+'*')
        return

print_star(5)

结果:

    *
   ***
  *****
 *******
*********

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

def string_cut(string):
    if len(string)>2:
        return string[0]+string[1]

    return '输入内容太短!'

print(string_cut(input('请输入一串字符串:')))

结果:

请输入一串字符串:s2f1d2
s2

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

def rabbits(n):
    if n<=2:
        return 1
    return rabbits(n-1)+rabbits(n-2)

print(rabbits(10))

结果:

请输入一串字符串:s2f1d2
s2

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

def score_manage(scores):
    max = scores[0]
    sum1 = 0
    for score in scores:
        sum1 += score
        if score > max:
            max = score
    ave = sum1/len(scores)
    return max, ave

max, ave = score_manage([80, 81, 82, 83, 84, 85])
print('最高分', max, '平均分', ave)

结果:

最高分 85 平均分 82.5

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

def get_odd(list):
    list_new = []
    for index in range(len(list)):
        if not index%2:
            list_new.append(list[index])
    return list_new

print(get_odd([1, 2, 3, 4, 5, 6, 7]))

结果:

[1, 3, 5, 7]
上一篇下一篇

猜你喜欢

热点阅读