Python3 100例 | 菜鸟教程 习题链接
题41:静态变量(类变量)
题目:模仿静态变量的用法。
Python语言并不支持静态变量。因为Python是动态语言,不存在完全静态的变量。
Python中,静态成员变量称为类变量,非静态成员变量称为实例变量
def varfunc():
var = 0
print(var)
var += 1
if __name__ == '__main__':
for i in range(3):
varfunc()
# 0
# 0
# 0
class Static:
StaticVar = 5
def varfunc(self):
self.StaticVar += 1
print('self.StaticVar =', self.StaticVar)
print('StaticVar =', Static.StaticVar)
print('---------------------')
a = Static() # 调用, 创建了一个对象
for i in range(3):
a.varfunc() # 调用方法
print('-----------------')
print('StaticVar =', Static.StaticVar)
print('----------------------')
a.StaticVar = 10 # 修改属性
print('StaticVar =', a.StaticVar)
# StaticVar = 5
# ---------------------
# self.StaticVar = 6
# self.StaticVar = 7
# self.StaticVar = 8
# -----------------
# StaticVar = 5
# ----------------------
# StaticVar = 10
题42:
题目:学习使用auto定义变量的用法。
程序分析:没有auto关键字,使用变量作用域来举例吧。
搞不懂这道题干啥的。。。局部变量?
num = 2
def autofunc():
num = 1
print('def = ', num)
num += 1
for i in range(3):
print(num)
num += 1
autofunc()
# 2
# def = 1
# 3
# def = 1
# 4
# def = 1
题43:
题目:模仿静态变量(static)另一案例。
程序分析:演示一个python作用域使用方法
class Num:
nNum = 1
def inc(self):
self.nNum += 1
print('self.nNum = ', self.nNum)
if __name__ == '__main__':
nNum = 2
inst = Num()
for i in range(3):
nNum += 1
print('nNum = ', nNum)
inst.inc()
# nNum = 3
# self.nNum = 2
# nNum = 4
# self.nNum = 3
# nNum = 5
# self.nNum = 4
题44:矩阵相加
两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:
X = [[12,7,3],
[4 ,5,6],
[7 ,8,9]]
Y = [[5,8,1],
[6,7,3],
[4,5,9]]
程序分析:创建一个新的 3 行 3 列的矩阵,使用 for 迭代并取出 X 和 Y 矩阵中对应位置的值,相加后放到新矩阵的对应位置中。
方法一:
X = [[12,7,3], [4,5,6], [7,8,9]]
Y = [[5,8,1], [6,7,3], [4,5,9]]
result = [[0,0,0], [0,0,0], [0,0,0]]
for i in range(3):
for j in range(3):
result[i][j] = X[i][j] + Y[i][j] #各位置元素相加
print(result)
方法二:
import numpy as np
X = [[12,7,3], [4,5,6], [7,8,9]]
Y = [[5,8,1], [6,7,3], [4,5,9]]
X = np.array(X)
Y = np.array(Y)
print(X+Y)
题45:自然数之和
题目:统计 1 到 100 之和。
s = 0
for i in range(101):
s += i
print(s)
print(sum(range(101)))
from functools import reduce
print(reduce(lambda x,y:x+y, range(101)))
#等差数列求和公式Sn = n*a1 + n*(n-1)*d/2, d是公差,a1是首项,n为项数
print(100*1+100*99*1/2)
题46:
题目:求输入数字的平方,如果平方运算后小于 50 则退出。
m = 100
while m>= 50:
x = int(input('输入数字:'))
m = x**2
print(m)
题47:
题目:两个变量值互换。
a = int(input("请输入a变量的值: "))
b = int(input("请输入b变量的值: "))
a, b = b, a
print('a = %d b = %d'%(a, b))
题48:
题目:数字比较。
a = int(input())
b = int(input())
c = max(a, b)
d = min(a, b)
if a != b:
print(c,'>', d)
else:
print('相等')
题49:创建匿名函数
题目:使用lambda来创建匿名函数。
X = lambda x,y:x+y
x = int(input())
y = int(input())
print(X(x, y))
题50:random模块
题目:输出一个随机数。
程序分析:使用 random 模块。
import random
print(random.random()) #0-1之间的随机数
print(random.uniform(100,200)) #随机数
print(random.randint(100,200)) #随机整数
更多推荐
Python3 入门经典100例 | 菜鸟教程 41-50题
发布评论