python学习练习题day11上午

1.面向对象的三大特性:封装,继承,多态

2.闭包的形成要件:外部函数包含内部函数,外部函数返回内部函数,内部函数调用外部函数的属性

闭包
def A(a):
    b=2
    def B(c):
        d=a*b+c
        return d
    return  B
x=A(2)
print(x(3))

装饰器
def dec(fun):
    def inner(name):
        print("*******")
        fun(name)
        print("*******")
    return inner

@dec
def a(name):
    print(name+"有一头小毛驴")
a("阿里巴巴")

3.变量的作用域查找顺序
L  local     局部作用域
E  enclose   嵌套作用域
G  global    全局作用域
B  built-in  内置作用域

对应代码
a=300
b=3
c=8
def A():
    b=200
    c=9
    def B():
        c=100
        print(c)
        print(b)
        print(a)
        print(max)
    return B()
A()

4.

运行结果
[15,14,3,4,5]
[24,14,15,4,5]

5.
a=int(input("输入开始数字"))
b=int(input("输入结束数字"))
sum=0
lst=[]
for ys in range(a,b+1):
    i=2
    while i<ys:
        if ys%i==0:
            break
        i+=1
    else:
        print(ys,"是质数")
        if str(ys)[-1]=="3":
            lst.append(str(ys))
        sum+=i
print("质数和为",sum)
for ysend in lst:
    print("质数中",ysend,"以三结尾")
print("共有%d个以三结尾的数"%len(lst))

老师的方法
start=int(input("输入开始值"))
end  =int(input("输入结束值"))
sum=0
a=[]
for ys in range(start,end+1):
    i=2
    while i<ys:
        if ys%i==0:
            break
        i+=1
    else:
        print(ys,"是质数")
        sum+=i
        if ys%10==3:
            a.append(ys)
print("和为",sum)
print(a)

猜你喜欢

转载自blog.csdn.net/qq_39112101/article/details/88112831