day8 函数作业
2018-07-25 本文已影响0人
跟我念一遍
1.写一个函数将一个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])
(注意:不要使⽤用列表⾃带的逆序函数)
list1 = [1, 2, 3]
list2 = []
def range1():
for _ in range(len(list1)):
list2.append(list1.pop())
print(list2)
range1()
2.写一个函数,提取出字符串中所有奇数位上的字符
str1 = input('请输入:')
def input1():
for index in range(len(str1)):
if index % 2:
print(str1[index], end='')
input1()
print('------------------------------')
3.写⼀个匿名函数,判断指定的年是否是闰年
def judge_year():
year1 = int(input('请输入年份:'))
if not year1 % 4:
print('是闰年')
else:
print('不是闰年')
judge_year()
4.使⽤用递归打印:
# n = 3的时候
# @
# @@@
# @@@@@
# n = 4的时候:
# @
# @@@
# @@@@@
# @@@@@@@
count = 1
def print_pic(n):
global count
count += 1
if n == 1:
print(' '* count, '@', sep='')
return
print_pic(n-1)
print(' '* (count - n), '@'*(2*n-1))
print_pic(3)
5.写函数,检查传⼊列表的长度,如果⼤于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
list1 = [1, 2, 3, 4]
list2 = []
def check_change():
if len(list1) > 2:
for item in list1[0:2]:
list2.append(item)
return list2
print(check_change())
6.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调⽤者。
def sum1(n):
if n == 0 or n == 1:
return n
return sum1(n-1)+sum1(n-2)
print(sum1(10))
7.写一个函数,获取列表中的成绩的平均值,和最高分
list1 = [55, 65, 98, 96.36, 57, 67]
def num1():
sum1 = 0
ave1 = 0
count = 0
max_score = list1[0]
for item in list1:
sum1 += item
count += 1
ave1 = sum1/count
if item > max_score:
max_score = item
print(ave1, max_score)
num1()
8.写函数,检查获取传⼊列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用
def new_list1(list):
list1 = list[1::2]
return list1
print(new_list1([1, 2, 3, 4, 5, 6]))
print(new_list1((1, 2, 3, 4, 5, 6)))
image.png