目录
1.
# 实现一个闭包,实现mysum(1) = 1, mysum(2) = 3, mysum(3) = 6
def outer():
def mysum(arg):
if arg < 1:
print("数值错误")
elif arg < 2:
print(1)
elif arg < 3:
print(3)
elif arg < 4:
print(6)
elif arg >= 4:
print("数值错误")
return mysum
mysum = outer()
mysum(1)
mysum(2)
mysum(3)
'''
运行结果
1
3
6
'''
2.
使用列表推导式实现列表,(列表中元素为,1-10之间若为偶数,为偶数的三次方,若为奇数, 为奇数对三取余)
result = [i*i*i if i % 2 != 1 else i % 3 for i in range(1, 11)]
print(result)
"""
运算结果
# 1 2 3 4 5 6 7 8 9 10
# [1, 8, 0, 64, 2, 216, 1, 512, 0, 1000]
"""
3.
# 使用生成器表达式:产生1-10中偶数不变,奇数为0
def number(num):
for i in range(1, num + 1):
if i % 2 == 0:
yield i
else:
yield 0
mun = number(10)
for i in mun:
print(i)
运算结果
"""
0
2
0
4
0
6
0
8
0
10
"""