python3 100例 一码人学习笔记(41-50)

题目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
Press any key to continue . . .

题目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
Press any key to continue . . .

 

题目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)
The num = 3
The num = 4
The num = 5
Press any key to continue . . .

题目44:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:


import numpy as np

x = np.array( [[12,7,3],
               [4 ,5,6],
               [7 ,8,9]])
y = np.array( [[5,8,1],
               [6,7,3],
               [4,5,9]])

z = x+y
print (z)
[[17 15  4]
 [10 12  9]
 [11 13 18]]
Press any key to continue . . .

题目45:统计 1 到 100 之和。

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

 

The sum is 5050
Press any key to continue . . .

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

def power(x):
    if x ** 2 >= 50:
        print('{}的平方为:{},不小于50,继续'.format(x, x ** 2))
    else:
        print('{}的平方为:{},小于50,退出'.format(x, x ** 2))
        quit()
while True:
    x = int(input('输入数字:'))
    power(x)
输入数字:12
12的平方为:144,不小于50,继续
输入数字:13
13的平方为:169,不小于50,继续
输入数字:18
18的平方为:324,不小于50,继续
输入数字:1
回车键后就退出了


题目47:两个变量值互换。

a = int(input("请输入a变量的值: "))
b = int(input("请输入b变量的值: "))
a = a + b
b = a - b
a = a - b
print( "a=%s b=%s" % (a, b))
请输入a变量的值: 3
请输入b变量的值: 2
a=2 b=3
Press any key to continue . . .
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
Press any key to continue . . .

题目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
Press any key to continue . . .

题目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
Press any key to continue . . .

题目50:输出一个随机数。

import random
 
#生成 10 到 20 之间的随机数
print (random.uniform(10, 20))
17.612304095825195
Press any key to continue . . .

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值