Python第一次作业

1.创建一个边界值为1而内部都是0的数组,图例如下:
[提示:]解此题可以先把所有值都设置为1,这是大正方形;其次,把边界除外小正方形全部设置为0。
本题用到numpy的切片原理。多维数组同样遵循x[start:stop:step]的原理。

[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]

1
2
3
4
import numpy as np
num=np.ones((10,10),'int32')
num[1:-1,1:-1]=0
print(num)

  

 

 

 2.在数组主对角线上创建一个值为1,2,3,4的5x5矩阵,图例如下:

[1 0 0 0]
[0 2 0 0]
[0 0 3 0]
[0 0 0 4]

1
2
3
4
5
import numpy as np
num=np.zeros((5,5),'int32')
for index,value in enumerate(num):
    num[index,index]=index+1
print(num)

  

 

 

 

3.数组归一化操作
生成一个随机的5*5矩阵,找出最大值和最小值,然后把最大值和最小值分别用1和0表示,其他值则介于在0和1中间。

1
2
3
4
5
6
7
8
9
10
11
import numpy as np
num=np.random.rand(5,5)
numMax,numMin=num.max(),num.min()
for index,value in enumerate(num):
    for i,v in enumerate(value):
        if abs(num[index,i]-numMax)<0.000001:
            num[index,i]=1
        if abs(num[index,i]-numMin)<0.000001:
            num[index,i]=0
 
print(num)

  

posted @ 2019-12-29 10:48  不少于7个字符  阅读(127)  评论(0编辑  收藏  举报