1.写一个函数将一个指定的列表中的元素逆序
(例如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自带的逆序函数)
def reversed_order (list1:list):
list2=list1[::-1]
return list2
print(reversed_order([1,2,3]))
结果为:[3, 2, 1]
2.写一个函数,提取出字符串中所有奇数位上的字符
def extract_str(str1):
sum1=''
for x in range(1,len(str1),2):
sum1+=str1[x]
return sum1
print("奇数位上的字符为:",extract_str(input("请输入字符串:")))
3.写一个匿名函数,判断指定的年是否是闰年
1).能被4整除而不能被100整除.
2).能被400整除.
bissextile=lambda year:(year%4==0) and (year%400==0) and (year%100==0)
year1=bissextile(int(input("请输入年份:")))
if year1:
print("是闰年")
else:
print("不是闰年")
4.使用递归打印:
"""
n = 3的时候:
@
@@
@@@
n = 4的时候:
@
@@
@@@
@@@@
"""
def func (n):
if n==1:
print('*')
return None
print('*'*n)
func(n - 1)
print(func(4))
"""
****
***
**
*
None
"""
5.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内
容,并将新内容返回给调用者。
def list_len(list1: list):
list2 =[]
list3 =[]
if len(list1) > 2:
for x in list1[0:2]:
list2.append(x)
for i in list1[2:len(list1)]:
list3.append(i)
return list2,list3
ftr1,ftr2 = list_len([1, 2, 3, 4,5])
print("保留的内容:%s\n返回值为:%s"%(ftr1,ftr2))
6.写函数,利用递归获取斐波那契数列中的第10个数,并将该值返回给调用者。(自己背着写)
1,1,2,3,5,8,13,21·····
def get_n (n):
if n==1 or n==2:
return 1
return get_n(n-1)+get_n(n-2)
print(get_n(10))
结果为:55
7.写一个函数,获取列表中的成绩的平均值和最高分
def max_average(list1: list):
ave2 = 0
sum2 = 0
max2 = 0
for x in list1[:]:
sum2 += x
if x > max2:
max2 = x
ave2 = sum2 / len(list1)
return max2, ave2
max2, ave2 = max_average([97, 67, 78, 89, 99, 69])
print("平均值为:%.2f\n最高分为:%d" % (ave2, max2))
8.写函数检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def get_element (list1):
list2=[]
for x in list1[1::2]:
list2.append(x)
return list2
element=get_element([0,1,2,3,4,5,6,7,8,9])
print(element)
结果为:[1, 3, 5, 7, 9]
9.写一个属于自己的数学模块(封装自己认为以后常用的数学相关的函数和变量)和列表模块(封装自己认为以后常用的列表相关的操作)
import main_module
print(main_module.factorial)
import list_module
print(list_module)