41、题目:模仿静态变量的用法。
程序分析:无。
程序源代码:
#!/usr/bin/python
#-*-coding:UTF-8-*-
defvarfunc():
var=0
print'var=%d'%var
var+=1
if__name__=='__main__':
foriinrange(3):
varfunc()
#类的属性
#作为类的一个属性吧
classStatic:
StaticVar=5
defvarfunc(self):
self.StaticVar+=1
printself.StaticVar
printStatic.StaticVar
a=Static()
foriinrange(3):
a.varfunc()
以上实例输出结果为:
var=0
var=0
var=0
5
6
7
8
42、题目:学习使用auto定义变量的用法。
程序分析:没有auto关键字,使用变量作用域来举例吧。
程序源代码:
#!/usr/bin/python
#-*-coding:UTF-8-*-
num=2
defautofunc():
num=1
print'internalblocknum=%d'%num
num+=1
foriinrange(3):
print'Thenum=%d'%num
num+=1
autofunc()
以上实例输出结果为:
Thenum=2
internalblocknum=1
Thenum=3
internalblocknum=1
Thenum=4
internalblocknum=1
43、题目:模仿静态变量(static)另一案例。
程序分析:演示一个python作用域使用方法
程序源代码:
#!/usr/bin/python
#-*-coding:UTF-8-*-
classNum:
nNum=1
definc(self):
self.nNum+=1
print'nNum=%d'%self.nNum
if__name__=='__main__':
nNum=2
inst=Num()
foriinrange(3):
nNum+=1
print'Thenum=%d'%nNum
inst.inc()
以上实例输出结果为:
Thenum=3
nNum=2
Thenum=4
nNum=3
Thenum=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矩阵中对应位置的值,相加后放到新矩阵的对应位置中。
程序源代码:
源代码:
#!/usr/bin/python
#-*-coding:UTF-8-*-
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]]
#迭代输出行
foriinrange(len(X)):
#迭代输出列
forjinrange(len(X[0])):
result[i][j]=X[i][j]+Y[i][j]
forrinresult:
print(r)
执行以上代码,输出结果如下:
[17,15,4]
[10,12,9]
[11,13,18]
45、题目:统计1到100之和。
程序分析:无
程序源代码:
实例
#!/usr/bin/python#-*-coding:UTF-8-*-tmp=0foriinrange(1,101):tmp+=iprint'Thesumis%d'%tmp
以上实例输出结果为:
Thesumis5050
46、题目:求输入数字的平方,如果平方运算后小于50则退出。
程序分析:无
程序源代码:
实例(Python2.0+)
#!/usr/bin/python
#-*-coding:UTF-8-*-
TRUE=1
FALSE=0
defSQ(x):
returnx*x
print'如果输入的数字小于50,程序将停止运行。'
again=1
whileagain:
num=int(raw_input('请输入一个数字:'))
print'运算结果为:%d'%(SQ(num))
ifSQ(num)>=50:
again=TRUE
else:
again=FALSE
以上实例输出结果为:
如果输入的数字小于50,程序将停止运行。
请输入一个数字:12
运算结果为:144
请输入一个数字:14
运算结果为:196
请输入一个数字:1
运算结果为:1
47、题目:两个变量值互换。
程序分析:无
程序源代码:
#!/usr/bin/python
#-*-coding:UTF-8-*-
defexchange(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、题目:数字比较。
程序分析:无
程序源代码:
#!/usr/bin/python
#-*-coding:UTF-8-*-
if__name__=='__main__':
i=10
j=20
ifi>j:
print'%d大于%d'%(i,j)
elifi==j:
print'%d等于%d'%(i,j)
elifi
print'%d小于%d'%(i,j)
else:
print'未知'
以上实例输出结果为:
10小于20
49、题目:使用lambda来创建匿名函数。
程序分析:无
实例
#!/usr/bin/python
#-*-coding:UTF-8-*-
MAXIMUM=lambdax,y:(x>y)*x+(x
MINIMUM=lambdax,y:(x>y)*y+(x
if__name__=='__main__':
a=10
b=20
print'Thelargaroneis%d'%MAXIMUM(a,b)
print'Theloweroneis%d'%MINIMUM(a,b)
以上实例输出结果为:
Thelargaroneis20
Theloweroneis10
50、题目:输出一个随机数。
程序分析:使用random模块。
程序源代码:
实例
#!/usr/bin/python
#-*-coding:UTF-8-*-
importrandom
#生成10到20之间的随机数
printrandom.uniform(10,20)
以上实例输出结果为:
14.4012371357