python9-函数练习题

#1.列举布尔值为False的值
#0 False,(),[],None,{}

#2.根据范围获取其中3和7整除的所有数的和,并返回调用者。
# def func(start,end):
#     sum = 0
#     count = 0
#     l = []
#     for i in range(start,end):
#         if i % 3 == 0 or i % 7 == 0:
#             count += 1
#             sum += i
#             l.append(i)
#     return l,count,sum

# res = func(1,100)
# print('能被3和7整除的数有%s,他们的个数有%s,他们的和%d。' %(res[0],res[1],res[2]))
#如果用递归函数
# def func(start,end,count=0,s=0):
#     if start == end:
#         return count,s
#     if start % 3 == 0 or start % 7 == 0:
#             count += 1
#             s += start
#     ret = func(start+1,end,count,s)
#     return ret

# res = func(1,100)
# print(res)

#3.使用set获取两个列表l1=[11,22,33],l2=[22,33,44]中相同的元素集合
# def func(l1,l2):
#     s1 = set(l1)
#     s2 = set(l2)
#     return s1.intersection(s2)
# l1=[11,22,33]
# l2=[22,33,44]
# print(func(l1,l2))

#4.计算字符串中,大写字母,小写字母,数字的个数
# def calu(s):
#     up_count = 0
#     low_count = 0
#     dig_count = 0
#     other = 0
#     dic = {'up':0,'low':0,'dig':0,'other':0}
#     # dic.fromkeys([])
#     for i in str(s):
#         if i.isdigit():
#             dic['dig'] += 1
#         elif i.isupper():
#             dic['up'] += 1
#         elif i.islower():
#             dic['low'] += 1
#         else:
#             dic['other'] += 1
#     return dic
# s = '''123ab ACD 12&&**(0asds  1290c'''
# res = calu(s)
# print(res)
#5.函数变量的区别,位置参数、默认参数,可变长参数
# def func(x,*y,**z):
#     print(x,y,z)
# func(1,2,3)
# func(1,[1,2,3],name='ag')
# func(1,*[1,2,3],name='ag')
# func(1,*[1,2,3],{'name':'ag'})
# func(1,*[1,2,3],**{'name':'ag'})
# l = func(1,2,3)
# print(l)        #函数没有返回值,因此函数结果是None

#6.将‘老男人’转换成utf-8编码并打印出对应的字节
#  s = '老男人'.encode('utf-8')
# print(bytes(s))
# s = '老男人'
# print(bytes(s,'utf-8'))
#7.使用zip获取内容
# l1 = ['1',2]
# l2 = ['1',2]
# l3 = ['1',2]
# l4 = ['1',2]
# res = zip(l1,l2,l3,l4)
# # print(list(res)[0])
# res = '_'.join(list(res)[0])
# print(res)
#8.使用递归实现阶乘 n!
# def mul(n):
#     if n == 1:
#         return 1
#     return n*mul(n-1)
# res = mul(4)
# print(res)

# from functools import reduce
# n = 4
# print(reduce(lambda x,y:x*y, range(1,n+1)))

#9.猴子吃桃,每天都比吃前一天剩下的一半再加1个,10天后,只剩1个,问总共有多少桃子
# sum = 1
# n = 10
# for i in range(n-1):
#     sum = (sum+1)*2
# print(sum)

# def chitao(m,n):        #m是最后剩的桃子数,n是天数
#     if n == 1:
#         return m
#     return chitao(2*(m+1),n-1)
# print(chitao(4,2))  

t = [1,2,1]
for i in t:
    print(i)
for i in t:
    print(i)
posted @ 2025-02-25 09:48  小学生132  阅读(35)  评论(0)    收藏  举报