练习41:

题目:

模仿静态变量的用法。

程序:

def varfunc():
var = 0
print('var = %d' % var)
var += 1 if __name__ == '__main__':
for i in range(3):
varfunc() # 类的属性 # 作为类的一个属性吧 class Static:
StaticVar = 5 def varfunc(self):
self.StaticVar += 1
print(self.StaticVar) print(Static.StaticVar)
a = Static()
for i in range(3):
a.varfunc()

输出结果:

var = 0
var = 0
var = 0
5
6
7
8

练习42:

题目:

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

分析:

没有auto关键字,使用变量作用域来举例吧。

程序:

num = 2

def autofunc():
num = 1
print('internal block num = %d' % num)
num += 1 for i in range(3):
print('The num = %d' % num)
num += 1
autofunc()

输出结果:

The num = 2
internal block num = 1
The num = 3
internal block num = 1
The num = 4
internal block num = 1

练习43:

题目:

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

分析:演示一个python作用域使用方法

程序:

class Num:
nNum = 1 def inc(self):
self.nNum += 1
print('nNum = %d' % self.nNum) if __name__ == '__main__':
nNum = 2
inst = Num()
for i in range(3):
nNum += 1
print('The num = %d' % nNum)
inst.inc()

输出结果:

The num = 3
nNum = 2
The num = 4
nNum = 3
The num = 5
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(len(X)):
# 迭代输出列
for j in range(len(X[0])):
result[i][j] = X[i][j] + Y[i][j] for r in result:
print(r)

输出结果:

[17, 15, 4]
[10, 12, 9]
[11, 13, 18]

练习45:

题目:

统计 1 到 100 之和。

程序:

tmp = 0
for i in range(1, 101):
tmp += i
print('The sum is %d' % tmp)

输出结果:

The sum is 5050

练习46:

求输入数字的平方,如果平方运算后小于 50 则退出。

程序:

TRUE = 1
FALSE = 0 def SQ(x):
return x * x print('如果输入的数字小于 50,程序将停止运行。')
again = 1
while again:
num = int(input('请输入一个数字:'))
print('运算结果为: %d' % (SQ(num)))
if SQ(num) >= 50:
again = TRUE
else:
again = FALSE

输出结果:

如果输入的数字小于 50,程序将停止运行。
请输入一个数字:8
运算结果为: 64
请输入一个数字:2
运算结果为: 4

练习47:

题目:

两个变量值互换。

程序:

def exchange(a, b):
a, b = b, a
return (a, b) if __name__ == '__main__':
x = 10
y = 20
print('x = %d,y = %d' % (x, y))
x, y = exchange(x, y)
print('x = %d,y = %d' % (x, y))

输出结果:

x = 10,y = 20
x = 20,y = 10

练习48:

题目:

数字比较。

程序:

if __name__ == '__main__':
i = 10
j = 20
if i > j:
print('%d 大于 %d' % (i, j))
elif i == j:
print('%d 等于 %d' % (i, j))
elif i < j:
print('%d 小于 %d' % (i, j))
else:
print('未知')

输出结果:

10 小于 20

练习49:

题目:

使用lambda来创建匿名函数。

程序:

MAXIMUM = lambda x, y: (x > y) * x + (x < y) * y
MINIMUM = lambda x, y: (x > y) * y + (x < y) * x if __name__ == '__main__':
a = 10
b = 20
print('The largar one is %d' % MAXIMUM(a, b))
print('The lower one is %d' % MINIMUM(a, b))

输出结果:

The largar one is 20
The lower one is 10

练习50:

题目:

输出一个随机数。

分析:

使用 random 模块。

程序:

import random

# 生成 10 到 20 之间的随机数
print(random.randint(10, 20))

输出结果:

19

最新文章

  1. Html5三维全景
  2. 安装dubbo-admin遇到的问题和解决之道
  3. Linux内核--网络栈实现分析(四)--网络层之IP协议(上)
  4. Unity3d 解析文本执行已注册的自定函数
  5. xubuntu12.04配置
  6. T-SQL:SQL Server-SQL语句大全经典
  7. iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架
  8. systemd-journal[825]: Forwarding to syslog missed 99 messages
  9. 使用zabbix_agent监控第一台windows服务器
  10. MyBatis 详解(一对一,一对多,多对多)
  11. C语言运行库翻译
  12. Confluence 6 修改默认空间标识图片
  13. Multi-Fiber Networks for Video Recognition (MFNet)
  14. 【JVM】-NO.114.JVM.1 -【JDK11 HashMap详解-3-put-treeifyBin()-AVL】
  15. 15:IO之File、Properties类
  16. 谈谈 JavaScript 的正则表达式
  17. TCP网络编程
  18. hihoCoder week23 最短路径&#183;一
  19. WPF 访问外部的xaml文件
  20. Myeclipse中设置jsp页面的默认编码格式

热门文章

  1. A - The Suspects (sars传染)
  2. Luogu P2408 不同子串个数【SAM】
  3. 简单判断long long 以内的回文数
  4. Color Changing Sofa Gym - 101962B、Renan and Cirque du Soleil Gym - 101962C、Hat-Xor Gym - 101962E 、Rei do Canga&#231;o Gym - 101962K 、Sorting Machine Gym - 101962M
  5. 功能按钮发post请求 参数放入body中
  6. ArcGIS处理栅格数据(一)
  7. 2.hello rabbitmq
  8. git alias all in one
  9. npm &amp; cli &amp; cp: no such file or directory
  10. css text gradient color, css fonts gradient color