解答:
1:
import numpy as np
a=np.random.randint(1,101,(4,4))
print(a)
输出:
2:
import numpy as np
a=np.random.randint(1,101,(4,4))
print(a)
print(a[0:,0:2])
print(a[0:,2:4])
输出:
3:
import numpy as np
a=np.random.randint(1,101,(4,4))
print(a)
print(a[0:,0])
print(np.sum(a[0:,0]))
print(a[0:,3])
print(np.sum(a[0:,3]))
输出:
4:
import numpy as np
a=np.random.randint(1,101,(4,4))
print(a)
n=int(input("输入n:"))
print(a[n,:])
输出:
5:
import numpy as np
a=np.random.randint(1,101,(4,4))
print(a)
m=int(input("输入m:"))
n=int(input("输入n:"))
print(a[m:n,:])
输出:
其他:
1.
生成一个[0,1)之间均匀分布的随机数数组,包含1000个元素, 随机种子为612。接收用户输入一个1-100之间的数字。打印随机数组中所有索引值可以被输入整数整除的数字,并打印序号和索引值。序号从1开始,依次加1. 例如,用户输入50,则打印数组中索引值为0,50,100...1000的随机数。(10分)
程序运行示例:
请输入一个1-100之间的整数:50
序号 索引值 随机数
1 0 0.1434716297030787
2 50 0.3228752619106986
3 100 0.39412407684983874
......
20 950 0.4658222822786575
提示:输出时可以使用制表符"\t",对齐各列。
解答:
import numpy as np
a=np.random.seed(612)
a=np.random.random(1000)
b=int(input("请输入一个1-100之间的整数:"))
k=1
print("序号",end="\t")
print("索引值",end="\t")
print("随机数")
for i in range(1000):
if i%b==0:
print(k,end="\t")
print(i,end="\t")
print(a[i])
k+=1
输出:
2.
import numpy as np
def solution(x,y):
x2=np.sum(x)/len(x)
y2=np.sum(y)/len(y)
fm,fz=0,0
for i in range(len(x)):
fz+=(x[i]-x2)*(y[i]-y2)
fm+=(x[i]-x2)*(x[i]-x2)
w=fz/fm
b=y2-w*x2
return w,b
x=np.array([64.3,99.6,145.45,63.75,135.46,92.85,86.97,144.76,59.3,116.03])
y=np.array([62.55,82.42,132.62,73.31,131.05,86.57,85.49,127.44,55.25,104.84])
w,b=solution(x,y)
print("w={w},b={b}".format(w=w,b=b))
输出: