Python练习题(三)

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

import numpy  # pip install numpy  需要安装模块 ,支持大量的维度数组与矩阵运算

x = numpy.array([[12, 7, 3], [4, 5, 6], [7, 8, 9]])
y = numpy.array([[5, 8, 1], [6, 7, 3], [4, 5, 9]])
z = x + y
print(z)

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)

45、统计1-100之和

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

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

while True:
    num=int(input('请输入数字'))
    s=num*num
    if s<50:
        break

47、两个变量值互换

a,b=1,2
a,b=b,a
print(a,b)

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 '未知'

49、使用lambda来创建匿名函数

sum=lambda x,y:x+y
print(sum(10,20))

50、输出一个随机数。

import random
num=random.randint(1,1000)
print(num)

import random
    # 随机数操作
random.random()             # 0.85415370477785668   # 随机一个[0,1)之间的浮点数
random.uniform(0, 100)      # 18.7356606526         # 随机一个[0,100]之间的浮点数
random.randrange(0, 100, 2) # 44                    # 随机一个[0,100)之间的偶数
random.randint(0, 100)      # 22                    # 随机一个[0,100]之间的整数
# 随机字符操作
seed ="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+=-" # 任意字符串(作为随机字符种子库)
random.choice(seed)             # 'd'               # 随机一个字符
random.sample(seed, 3)          # ['a', 'd', 'b']   # 随机多个字符(字符可重复)
''.join(random.sample(seed,3))  # '^f^'             # 随机指定长度字符串(字符可重复)
# 随机列表操作
random.shuffle(list)                                # 列表中的元素打乱


51、学习使用按位与 &
正负得0

a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
 
c = a & b;        # 12 = 0000 1100
print "1 - c 的值为:", c
 
c = a | b;        # 61 = 0011 1101 
print "2 - c 的值为:", c
 
c = a ^ b;        # 49 = 0011 0001
print "3 - c 的值为:", c
 
c = ~a;           # -61 = 1100 0011
print "4 - c 的值为:", c
 
c = a << 2;       # 240 = 1111 0000
print "5 - c 的值为:", c
 
c = a >> 2;       # 15 = 0000 1111
print "6 - c 的值为:", c

52、学习使用按位或 |
正负得1

a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
 
c = a | b;        # 61 = 0011 1101 
print "2 - c 的值为:", c
 


53、学习使用按位异或 ^
当两对应的二进位相异时,结果为1

a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
 
c = a ^ b;        # 49 = 0011 0001
print "3 - c 的值为:", c
 

54、取一个整数a从右端开始的4〜7位

a=input('请输入一个大于7位的整数')
s=str(a)
print(s[-4:-8:-1])

55、学习使用按位取反~

if __name__ == '__main__':
    a = 234
    b = ~a
    print 'The a\'s 1 complement is %d' % b
    a = ~a
    print 'The a\'s 2 complement is %d' % a

猜你喜欢

转载自blog.csdn.net/qq_37493425/article/details/85228377