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