python实战训练---基础练习(9)

文章目录

    • 类的方法与变量
    • 变量作用域
    • 作用域、类的方法与变量
    • 矩阵相加
    • 求和

类的方法与变量

题目 :
模仿静态变量的用法。

程序分析:
构造类,了解类的方法与变量。

def dummy():
    i=0
    print(i)
    i+=1

class cls:
    i=0
    def dummy(self):
        print(self.i)
        self.i+=1

a=cls()
for i in range(50):
    dummy()
    a.dummy()

变量作用域

题目:
学习使用auto定义变量的用法。

程序分析 :
python中的变量作用域。

i=0
n=0
def dummy():
    i=0
    print(i)
    i+=1
def dummy2():
    global n
    print(n)
    n+=1
print('函数内部的同名变量')
for j in range(20):
    print(i)
    dummy()
    i+=1
print('global声明同名变量')
for k in range(20):
    print(n)
    dummy2()
    n+=10

作用域、类的方法与变量

题目:
模仿静态变量(static)另一案例。

程序分析 :
综合上面两个例题

class dummy:
    num=1
    def Num(self):
        print('class dummy num:',self.num)
        print('global num: ',num)
        self.num+=1

n=dummy()
num=1
for i in range(5):
    num*=10
    n.Num()

矩阵相加

题目:
计算两个矩阵相加。

程序分析 :
创建一个新的矩阵,使用 for 迭代并取出 X 和 Y 矩阵中对应位置的值,相加后放到新矩阵的对应位置中。

X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]
 
Y = [[5,8,1],
    [6,7,3],
    [4,5,9]]
 
res=[[0,0,0],
    [0,0,0],
    [0,0,0]]
for i in range(len(res)):
    for j in range(len(res[0])):
        res[i][j]=X[i][j]+Y[i][j]
print(res)

求和

题目:
统计 1 到 100 之和。

程序分析 无

res=0

for i in range(1,101):
    res+=i
print(res)

你可能感兴趣的:(对象,函数,算法,python,算法,练习题,实战训练,面向对象)