day9作业

2018-08-30  本文已影响0人  liuperson

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

def exchange(list:list):
    for x in range(len(list)):
        item=list.pop(x)
        list.insert(0,item)
    return list
print(exchange([1,2,3]))
结果:
[3, 2, 1]

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

def get_(str):
  str1=str[1::2]
  return str1
print(get_('012345678'))
结果:
1357

3.编写函数,判断是否是闰年

judge_year=lambda x:(x%400==0 or (x%4==0 and x%100!=0))
print(judge_year(2018))
结果:
False

4.使用递归打印

def star(n):
    if n==1:
        print('*')
        return None
    star(n-1)
    print('*'*n)
star(4)
结果:
*
**
***
****

5.编写函数,检查输入的字符串的长度,如果长度大于2,那么保留前两个字符的内容,并且返回给调用者

def check_char(str):
    if len(str)>2:
        return str[:2]
print(check_char('01234567'))
结果:
01

6.写函数,获得斐波那契数列中的第10个数,并且将该值返回给调用者

def feibo(n):
    if n==1 or n==2:
        return 1
    return feibo(n-1)+feibo(n-2)
print(feibo(10))
结果:
55

7.写一个函数,获取列表中的平均值和最大值

my_fun1=lambda list:(max(list),sum(list)/len(list))
m1,m2=my_fun1([1,2,3,4,5])
print(m1,m2)
结果:
5 3.0

8.写函数,检查输入的元组或者是列表所有的奇数位,获得索引值,然后作为新的列表返回给调用者

def get_new(list):
    list1=[]
    for x in range(len(list)):
        if x%2!=0:
           list1.append(x)
    return list1
print(get_new([0,1,2,3,4,5,6]))
结果:
[1, 3, 5]

9.写一个属于自己的数学模块,封装自己认为以后会常用的相关函数和变量,列表模块,封装自己认为以后常用的列表操作

def sum(list):
    """
    求列表中所有数的和
    :param list:
    :return:
    """
    sum1=0
    for x in list:
        sum1+=x
    return sum1

def jian_fa(list:list):
    """
    求多个数的差
    :param list:
    :return:
    """
    number=list[0]
    for x in list[1:]:
        number-=x
    return number

def count(list,number):
    """
    求元素出现的次数
    :param list:
    :param number:
    :return:
    """
    sum=0
    for item in list:
        if item==number:
            sum+=1
    return sum

e=2.7
pi=3.14259

def cricle_area(r):
    """
    求圆的面积
    :param r:
    :return:
    """
    return pi*(r**2)

def perimeter(x,y):
    """
    求圆的周长
    :param x:
    :param y:
    :return:
    """
    return (x+y)*2
from my_operation import sum
print(sum([1,2,3,4,5]))
结果:
15
from my_operation import count
print(count([1,2,3,4],1))
结果:
1
上一篇下一篇

猜你喜欢

热点阅读