1.写⼀一个函数将⼀一个指定的列列表中的元素逆序(例例如[1, 2, 3] -> [3, 2, 1])(注意:不不要使⽤用列列表⾃自带的逆序函数)
def reverse_list(list1):
for index in range(len(list1)):
item=list1.pop(index)
list1.insert(0,item)
old_list=[1,2,8]
reverse_list(old_list)
print(old_list))
结果:[8, 2, 1]
2.写⼀一个函数,提取出字符串串中所有奇数位上的字符
def my_str(str1):
list1=''
for i in range(len(str1)):
if i%2==0:
list1 += str1[i]
else:
continue
print(list1)
s='huffy'
my_str(s)
结果:hfy
3.写一个匿名函数,判断指定的年是否是闰年
isrunnian = lambda x: bool((x%4==0 and x%100!=0)or x%400==0)
print(isrunnian(2003))
结果:False
4.使⽤用递归打印:
n = 3的时候
@
@@@
@@@@@
n = 4的时候:
@
@@@
@@@@@
@@@@@@@
def prin_star(n=3):
if n == 1:
s1='*'
print(s1.center(7))
return
prin_star(n - 1)
s2='*'*(2*n-1)
print(s2.center(7))
prin_star(4)
结果:
*
***
*****
*******
def my_print(n,m=0):
if n==0:
return None
my_print(n-1,m+1)
print(' '*m,end='')
print('*'*(2*n-1))
my_print(4)
结果:
*
***
*****
*******
5.写函数,检查传⼊入列列表的⻓长度,如果⼤大于2,那么仅保留留前两个⻓长度的内容,并将新内容返回给调⽤用者。
def my_check(list1):
list2=[]
if len(list1)>2:
for i in range(0,len(list1)):
list2.append(list1[i])
if i==1:
break
return list2
list3=['a','f',7,9]
print(my_check(list3))
结果:['a', 'f']
6.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。
def fb(n):
if n == 1 or n == 2:
return 1
return fb(n-1)+fb(n-2)
print(fb(9))
结果:34
7.写⼀一个函数,获取列表中的成绩的平均值,和最高分
def get_num(list1):
sum1=0
count=0
max1=0
for i in range(0,len(list1)):
sum1+=list1[i]
count+=1
if list1[i]>max1:
max1=list1[i]
average=sum1/count
return max1,average
list2=[2,5,3,8]
print(get_num(list2))
结果:
(8, 4.5)
8.写函数,检查获取传⼊列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def my_list(list1):
list2=[]
for i in range(0,len(list1),2):
list2.append(list1[i])
return list2
list3=['q','d',6,9,'r']
print(my_list(list3))
结果:
['q', 6, 'r']