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,3]
reverse_list(old_list)
print(old_list)
结果
[3, 2, 1]
2.写⼀个函数,提取出字符串中所有奇数位上的字符
def choice(str):
new_str = str[::2]
print(new_str)
value1 = input('请输入字符串:')
choice(value1)
结果
请输入字符串:fhjsu4h3kjwf
fjuhkw
3.写⼀个匿名函数,判断指定的年是否是闰年
value2 = int(input('请输入年份:'))
is_year = lambda year:year%400 ==0 or year%100 != 0 and year%4 == 0
print(is_year(value2))
结果
请输入年份:2013
False
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(3)
my_print(4)
结果
@
@@@
@@@@@
@
@@@
@@@@@
@@@@@@@
5.写函数,检查传⼊列表的⻓度,如果⼤于2,那么仅保留前两个⻓度的内容,并将新内容返回给调⽤者。
def check(list):
if len(list)>2:
return list[:2]
else:
print('输入不合格')
value3 = list(input('请输入一个列表:'))
print(check(value3))
结果
请输入一个列表:123456
['1', '2']
6.写函数,利⽤递归获取斐波那契数列中的第 10 个数,并将该值返回给调⽤者。
def get(n):
if n == 1:
return 1
elif n == 2:
return 1
else:
return get(n-1)+get(n-2)
print(get(10))
结果
55
7.写⼀个函数,获取列表中的成绩的平均值,和最⾼分
def scores(list):
new_max = max(list)
print('最高分为:%s'%(new_max))
sum = 0
for item in list:
sum += int(item,)
print('平均值为:%s'%(sum/len(list)))
scores([98,78,55,98,44,88])
结果
最高分为:98
平均值为:76.83333333333333
8.写函数,检查获取传⼊列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调⽤者
def check1(object):
#判断元素是列表还是元组
if value4 == '1':
new_list = object[::2]
return new_list
else:
new_tuple = tuple(object)[::2]
return new_tuple
print('1.选择输入列表元素')
print('2.选择输入元组元素')
value4 = input('>>>')
if value4 == '1':
value5 = list(input('请输入列表或者元组对象:'))
else:
value5 = tuple(input('请输入列表或者元组对象:'))
print(check1(value5))
结果
1.选择输入列表元素
2.选择输入元组元素
>>>1
请输入列表或者元组对象:12345
['1', '3', '5']