函数
2018-08-30 本文已影响0人
葡萄柚子茶
1写一个函数将一个指定的列表中的元素逆序(例[1,2,3]->[3,2,1])
def reverse_list(list1):
list2=[]
for item in list1[-1::-1]:
list2.append(item)
return list2
result=reverse_list([1,2,3])
print(result)
image.png
2.写一个函数,提取出字符串所有奇数位上的字符
def odd_str(str1):
list1 = list(str1)
str2=''
for item in list1[0::2]:
str2 += item
return str2
result=odd_str('abcdefgh')
print(result)
image.png
3.写一个匿名函数,判断指定的年份是否是闰年
leap_near=lambda n:bool(n%4==0 and n%100 or n%400==0)
result = leap_near(2000)
print(result)
image.png
4.使用递归打印:
当n=3时:
@
@@
@@@
当n=4时:
@
@@
@@@
@@@@
def triangle(n):
if n == 1:
print('@')
return
triangle(n-1)
print(n*'@')
triangle(3)
image.png
5.写函数,检查传入列表的长度,如果大于2,那么保留前两个长度的内容,并将新内容返回给调用者
def shear_list(list1):
a = len(list1)
list2 = []
if a > 2:
list2 = list1[0:2]
return list2
else:
return list1
result=shear_list(['a','b','c','d','e'])
print(result)
image.png
6.写函数,利用递归获取斐波那契数列中的第十个数,并将该值返回给调用者
# 1,1,2,3,5,8,13,21,34,55
def Fibonacci_Numbers(n):
if n ==1 or n==2:
return 1
return Fibonacci_Numbers(n-1)+Fibonacci_Numbers(n-2)
result=Fibonacci_Numbers(10)
print(result)
image.png
7.写一个函数,获取列表中成绩的平均值和最高分
def scores_list(list1:list):
sum1 = 0
for item in list1:
sum1 += item
list1.sort()
a = list1[-1]
return sum1/len(list1),a
result=scores_list([60,100,98,99])
print(result)
image.png
8.写函数,检查获取传入列表或元祖对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def odd_index(list1):
list2=[]
for item in list1[1::2]:
list2.append(item)
return list2
result=odd_index([1,2,3,45,65])
print(result)
image.png
9.写一个属于自己的数学模块(封装自己认为常用的数学相关的函数和变量)和列表模块(封装自己认为常用的列表操作)
数学模块
def sum1(n):
"""
求n个数的和
:param n:输入的数字
:return: 数字之和
"""
sum2 = 0
for item in range(0,n+1):
sum2 += item
return sum2
import my_sum1
result=my_sum1.sum1(5)
print(result)
image.png
列表模块
def index_list(list1:list,item):
"""
获取指定元素对应的下标
:param list1: 指定的列表
:param item: 指定元素
:return: 符合要求的所有下标
"""
list2=[]
for index in range(len(list1)):
if item == list1[index]:
list2.append(index)
return list2
import my_list
result = my_list.index_list([1,2,3,4,1,4],1)
print(result)
image.png