20230328python结课考试——简答题

目录

1.

2.

3.


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
"""

猜你喜欢

转载自blog.csdn.net/2302_77035737/article/details/130870709
今日推荐