Numpy学习与应用(二)


基于第一节中对问题和基本知识的介绍,下面为解答所有6个题目的代码,思路很清晰,在此只对于部分重要步骤进行解释

# -*- coding: utf-8 -*-
import numpy as np
from scipy.linalg import toeplitz  
import time  
#生成A,B
def generate_A_B(n,m):
	A = np.random.normal(size = (n, m))
	c = [num for num in range(1, m+1)]
	B = toeplitz(c)
	print("A:")
	print(A)
	print("B:")
	print(B)
	return A, B

#answer 9.1
def answer_9_1(A, B):
	AplusA = A + A
	AAt = np.dot(A, A.T) #matrix multipilication
	AtA = np.dot(A.T, A)
	AB = np.dot(A, B)
	lamda = np.random.normal() #random generate
	f(A, B, lamda)
	print("AplusA:")
	print(AplusA)
	print("AAt:")
	print(AAt)
	print("AtA:")
	print(AtA)
	print("AB:")
	print(AB)

def f(A, B, lamda):
	result = np.dot(A, (B - lamda * np.eye(B.shape[1])))
	print("A(B − lamda*I) for lamda=%s:" % lamda)
	print(result)

#answer 9.2
def answer_9_2(B):
	b = np.ones(B.shape[1])
	result = np.linalg.solve(B, b) #solve Bx = b
	print('Solution of Bx = b where b is a vector filled whit ones:')
	print(result)

#answer 9.3
def answer_9_3(A, B):
	_A = np.linalg.norm(A, 'fro')
	_B = np.linalg.norm(B, np.inf)
	largest_sin = np.linalg.norm(B, 2) #largest singular equals to norm(2)
	smallest_sin = np.linalg.norm(B, -2)

	print('Frobenius norm of A:')
	print(_A)
	print('Infinity norm of B:')
	print(_B)
	print('Largest singular value of B:')
	print(largest_sin)
	print('Smallest singular value of B:')
	print(smallest_sin)

#answer 9.4
def answer_9_4(n):
	Z = np.random.normal(size = (n,n))
	num = 0
	u_k = np.ones(n)
	v_k_norm = 0
	v_k = np.zeros(n)

	begin = time.clock()
	while(True): #iteration
		v_k = np.dot(Z, u_k)  
		v_k_norm_temp = v_k_norm  
		v_k_norm = np.linalg.norm(v_k)  
		u_k = v_k / v_k_norm  
		num += 1   
		if abs(v_k_norm_temp - v_k_norm) < 0.0005:  
			break;  
	end = time.clock()  
	print("the largest eigenvalue:", v_k_norm)  
	print("the corresponding eigenvector:", u_k)  
	#How many iterations are needed till convergence  
	print("The number of iterations:", num)  
	#Optional: use the time.clock() method to compare computation time when varying n.  
	print("computation time when varying n:", end-begin)  

#answer 9.5
def answer_9_5(n):
	p = 0.2
	C = np.random.binomial(1, p, (n,n))
	largest_sin = np.linalg.norm(C, 2)
	smallest_sin = np.linalg.norm(C, -2)
	print("The largest sigular of C for p=0.2:")
	print(largest_sin)
	print("The smallest sigular of C for p=0.2:")
	print(smallest_sin)

	print("n * p:")
	print(n*p)
	print("n*p is approximate to the largest singular, they are equal theoretically.")

#answer 9.6
def answer_9_6(A, z):
	r = np.extract(A==z,A)  
	if r.size:
		print("The closest value to z in A:")
		print(z)
	_A = np.reshape(A, A.size)
	C = [abs(_A[i] - z) for i in range(0, _A.size-1)]  
	print("The closest value to z in A:")
	print(min(C))


n, m = 200, 500  
A, B = generate_A_B(n, m)

answer_9_1(A, B)  
answer_9_2(B)  
answer_9_3(A, B)  
answer_9_4(n)  
answer_9_5(n)  
z = np.random.normal()
answer_9_6(A, z)  

输出为:

0. 生成A,B如下

A:
[[ 0.95278166 -1.18293703  0.57143846 ...  0.50420287 -0.32992624
   0.38573025]
 [-1.40260651 -0.81713552  0.87100929 ...  0.20779558  0.10232635
   0.6627302 ]
 [ 0.77374907 -1.73962531 -0.38887812 ... -0.66030443  0.27338129
   2.32983829]
 ...
 [-0.3510198  -0.34050134  0.33814053 ...  0.21026862 -0.64102818
   0.74995865]
 [-0.27153398  0.87329607 -0.416119   ... -0.29887947 -0.04698418
  -0.43096432]
 [-1.02630983  0.6277871   2.1789007  ...  1.34756906  0.2202234
  -1.31916096]]
B:
[[  1   2   3 ... 498 499 500]
 [  2   1   2 ... 497 498 499]
 [  3   2   1 ... 496 497 498]
 ...
 [498 497 496 ...   1   2   3]
 [499 498 497 ...   2   1   2]
 [500 499 498 ...   3   2   1]]


1. 计算A(B-lamda*I),A+A,AAt,AtA和AB的结果如下

A(B − lamda*I) for lamda=0.37093826175522243:
[[ -4416.85219654  -4398.01240447  -4382.98147122 ...  -3637.66766321
   -3653.61186979  -3670.79080363]
 [  9462.24053864   9442.39831652   9420.51279944 ...  -1065.84384566
   -1050.51500066  -1035.22850077]
 [ -9450.21682037  -9404.5594082   -9363.81459719 ... -12085.5851867
  -12134.31557291 -12182.91567537]
 ...
 [-10271.37998364 -10224.41862075 -10178.38609306 ... -13512.8348185
  -13560.40420506 -13610.08739679]
 [  3619.38716182   3588.72601043   3560.71440584 ...  11196.02425996
   11226.58014153  11257.27792526]
 [ -9938.9087946   -9905.31299488  -9870.42342049 ...  -8160.77819176
   -8194.42412822  -8227.47677696]]
AplusA:
[[ 1.90556332 -2.36587406  1.14287692 ...  1.00840575 -0.65985248
   0.77146049]
 [-2.80521303 -1.63427104  1.74201858 ...  0.41559116  0.20465269
   1.32546039]
 [ 1.54749815 -3.47925062 -0.77775623 ... -1.32060886  0.54676258
   4.65967658]
 ...
 [-0.7020396  -0.68100267  0.67628106 ...  0.42053723 -1.28205637
   1.4999173 ]
 [-0.54306796  1.74659215 -0.83223799 ... -0.59775893 -0.09396836
  -0.86192864]
 [-2.05261965  1.2555742   4.3578014  ...  2.69513812  0.4404468
  -2.63832192]]
AAt:
[[474.96513497 -25.16769492  24.52276177 ...  -2.20489292  25.26831487
   23.93722546]
 [-25.16769492 490.29508362 -18.22400123 ...  -2.73010253  -5.39655963
   74.71276627]
 [ 24.52276177 -18.22400123 516.32074555 ...   3.1280141  -35.79197801
   34.05905386]
 ...
 [ -2.20489292  -2.73010253   3.1280141  ... 454.8099383  -68.87073241
   -4.54514735]
 [ 25.26831487  -5.39655963 -35.79197801 ... -68.87073241 507.77215332
  -31.79923431]
 [ 23.93722546  74.71276627  34.05905386 ...  -4.54514735 -31.79923431
  486.60273961]]
AtA:
[[196.6395596  -11.65223971  17.53679282 ...  18.67360702   6.31399801
   -8.60169625]
 [-11.65223971 172.78276572   3.07933114 ...  11.72896245   1.08837617
  -16.99044062]
 [ 17.53679282   3.07933114 214.94532223 ...   9.20660451   4.18348
    6.96008326]
 ...
 [ 18.67360702  11.72896245   9.20660451 ... 192.80256262  19.24749079
  -24.66251227]
 [  6.31399801   1.08837617   4.18348    ...  19.24749079 187.86636644
   12.87827568]
 [ -8.60169625 -16.99044062   6.96008326 ... -24.66251227  12.87827568
  235.05192904]]
AB:
[[ -4416.49877337  -4398.45120107  -4382.76950283 ...  -3637.48063507
   -3653.73425206  -3670.64772152]
 [  9461.72025822   9442.09520969   9420.83589011 ...  -1065.76676633
   -1050.4770439   -1034.98266879]
 [ -9449.92980723  -9405.20470179  -9363.95884696 ... -12085.83011887
  -12134.21416533 -12182.05144921]
 ...
 [-10271.51019031 -10224.54492572 -10178.2606638  ... -13512.75682182
  -13560.64198694 -13609.80920843]
 [  3619.28643948   3589.04994936   3560.56005138 ...  11195.91339413
   11226.5627133   11257.1180641 ]
 [ -9939.28949219  -9905.08012462  -9869.61518286 ...  -8160.27832683
   -8194.34243893  -8227.96610423]]

2. 计算方程Bx = b的解


Solution of Bx = b where b is a vector filled whit ones:
[ 1.99600798e-03  1.04861783e-15 -1.11022302e-15  8.88178420e-16
 -3.33066907e-16 -2.22044605e-16  9.52155113e-28 -3.02330942e-28
  3.33066907e-16  1.11022302e-16 -4.44089210e-16  3.33066907e-16
 -4.44089210e-16  4.44089210e-16 -2.22044605e-16  1.11022302e-16
 -3.33066907e-16  3.33066907e-16 -2.22044605e-16  6.66133815e-16
 -5.55111512e-16 -1.14720097e-27 -3.33066907e-16  4.44089210e-16
  3.33066907e-16 -3.33066907e-16 -5.55111512e-16  1.22124533e-15
 -1.66533454e-15  1.22124533e-15 -2.22044605e-16 -2.79256760e-28
 -2.22044605e-16  2.22044605e-16 -1.11022302e-16  8.88178420e-16
 -1.11022302e-15 -2.39655943e-27  7.77156117e-16 -1.33226763e-15
  1.22124533e-15 -4.44089210e-16 -1.11022302e-16  3.33066907e-16
 -5.55111512e-16  8.88178420e-16 -4.44089210e-16 -1.11022302e-16
 -6.66133815e-16  5.55111512e-16  5.55111512e-16 -6.66133815e-16
  1.33226763e-15 -1.88737914e-15  9.99200722e-16  2.22044605e-16
 -2.22044605e-16 -6.66133815e-16  7.77156117e-16 -6.66133815e-16
  3.33066907e-16  3.33066907e-16 -3.33066907e-16  2.22044605e-16
 -4.44089210e-16  7.77156117e-16 -1.22124533e-15  1.44328993e-15
 -6.66133815e-16 -5.55111512e-16  8.88178420e-16 -7.77156117e-16
  1.41758305e-27  6.66133815e-16 -4.44089210e-16  1.11022302e-15
 -2.10942375e-15  2.33146835e-15 -1.44328993e-15  5.61668965e-28
 -2.22044605e-16  9.99200722e-16 -3.33066907e-16 -4.44089210e-16
  6.66133815e-16 -8.88178420e-16  4.44089210e-16  2.22044605e-16
  3.33066907e-16 -9.99200722e-16  7.77156117e-16 -3.33066907e-16
 -1.11022302e-16  2.22044605e-16 -1.11022302e-16 -2.65846125e-28
 -2.22044605e-16  5.55111512e-16 -2.22044605e-16  1.11022302e-16
  1.11022302e-16 -8.88178420e-16  6.66133815e-16 -5.55111512e-16
  9.99200722e-16 -7.16285702e-28 -8.88178420e-16  5.55111512e-16
 -5.55111512e-16  1.11022302e-16  9.99200722e-16 -8.88178420e-16
 -4.44089210e-16  1.44328993e-15 -1.44328993e-15  1.11022302e-15
 -5.55111512e-16 -4.44089210e-16  7.77156117e-16 -3.33066907e-16
  4.44089210e-16 -3.33066907e-16 -5.55111512e-16  6.66133815e-16
 -2.22044605e-16  2.22044605e-16 -7.77156117e-16  1.22124533e-15
 -7.77156117e-16  6.66133815e-16 -1.11022302e-15  9.99200722e-16
 -2.22044605e-16 -1.11022302e-16 -1.11022302e-16 -7.77156117e-16
  1.66533454e-15 -8.88178420e-16 -8.88178420e-16  1.77635684e-15
 -1.66533454e-15  1.99840144e-15 -1.66533454e-15  6.66133815e-16
 -5.55111512e-16  4.44089210e-16 -5.55111512e-16  8.88178420e-16
  6.66133815e-16 -2.22044605e-15  1.33226763e-15  4.01727416e-28
  6.66133815e-16 -1.88737914e-15  6.66133815e-16 -1.11022302e-16
  1.22124533e-15 -1.11022302e-16 -1.66533454e-15  2.22044605e-15
 -1.33226763e-15 -1.11022302e-16  1.11022302e-16  1.11022302e-15
 -1.11022302e-15 -5.55111512e-16  1.44328993e-15 -1.66533454e-15
  1.33226763e-15 -7.77156117e-16  8.88178420e-16  7.81761157e-28
 -1.33226763e-15  6.66133815e-16  3.33066907e-16 -8.88178420e-16
  8.88178420e-16  4.44089210e-16 -8.88178420e-16  1.11022302e-15
 -8.88178420e-16  8.88178420e-16 -1.88737914e-15  1.77635684e-15
 -6.66133815e-16 -1.11022302e-15  1.55431223e-15 -1.55431223e-15
  1.33226763e-15 -7.20230006e-28 -9.99200722e-16  1.33226763e-15
 -1.11022302e-15  1.11022302e-15 -7.77156117e-16  7.77156117e-16
 -3.33066907e-16 -7.77156117e-16  6.66133815e-16 -1.11022302e-16
 -7.77156117e-16  1.11022302e-15 -5.55111512e-16  8.88178420e-16
 -1.33226763e-15  9.99200722e-16 -3.33066907e-16 -2.22044605e-16
 -5.55111512e-16  7.77156117e-16  1.11022302e-16 -1.11022302e-16
  3.33066907e-16 -1.44328993e-15  1.22124533e-15 -1.11022302e-16
  6.66133815e-16 -7.77156117e-16 -1.11022302e-16 -1.33226763e-15
  3.10862447e-15 -1.22124533e-15 -1.33226763e-15  1.11022302e-15
  1.11022302e-16 -4.44089210e-16  1.11022302e-16 -2.22044605e-16
  1.11022302e-15 -1.88737914e-15  1.66533454e-15 -7.77156117e-16
  9.99200722e-16 -1.66533454e-15  1.77635684e-15 -1.33226763e-15
  1.11022302e-16  1.11022302e-16  3.77075513e-28  7.77156117e-16
 -1.55431223e-15  1.88737914e-15 -1.66533454e-15  1.44328993e-15
 -6.66133815e-16  1.11022302e-16 -8.88178420e-16  8.88178420e-16
 -1.66533454e-16  2.22044605e-16 -2.77555756e-16 -1.66533454e-16
  1.66533454e-16  1.66533454e-16 -1.26217745e-29 -4.99600361e-16
  6.10622664e-16 -3.88578059e-16  6.10622664e-16 -6.66133815e-16
  2.77555756e-16  1.66533454e-16 -6.10622664e-16  4.99600361e-16
 -1.66533454e-16  2.77555756e-16 -3.88578059e-16 -2.76101317e-28
  3.88578059e-16 -3.88578059e-16  3.33066907e-16 -3.33066907e-16
  5.55111512e-17  3.33066907e-16 -5.55111512e-17 -3.33066907e-16
  5.55111512e-17  5.55111512e-17  2.77555756e-16 -4.44089210e-16
  6.66133815e-16 -2.77555756e-16 -9.99200722e-16  9.43689571e-16
 -5.55111512e-17  2.22044605e-16 -7.21644966e-16  7.21644966e-16
 -1.11022302e-16 -1.11022302e-16 -6.50810247e-29 -7.77156117e-16
  1.38777878e-15 -7.21644966e-16  5.55111512e-17  1.66533454e-16
 -6.10622664e-16  1.11022302e-15 -1.22124533e-15  8.88178420e-16
 -9.43689571e-16  9.99200722e-16 -4.99600361e-16  2.22044605e-16
 -1.66533454e-16  1.11022302e-16  5.55111512e-17 -3.88578059e-16
  5.55111512e-16 -6.66133815e-16  2.77555756e-16  7.77156117e-16
  1.86960035e-28 -1.77635684e-15  1.16573418e-15 -5.55111512e-17
  1.11022302e-16 -1.11022302e-16 -3.88578059e-16  8.32667268e-16
 -4.44089210e-16 -2.77555756e-16  1.66533454e-16  2.77555756e-16
 -3.33066907e-16  5.55111512e-16 -7.21644966e-16  3.88578059e-16
  1.11022302e-16 -3.88578059e-16  7.21644966e-16 -5.55111512e-16
 -3.33066907e-16  4.99600361e-16 -4.99600361e-16  5.55111512e-16
  3.88578059e-16 -7.21644966e-16 -5.55111512e-17  3.88578059e-16
 -7.21644966e-16  3.88578059e-16  1.66533454e-16  7.77156117e-16
 -3.88578059e-16 -1.11022302e-15  6.10622664e-16  3.33066907e-16
 -2.77555756e-16  5.55111512e-17 -2.22044605e-16  1.11022302e-16
  6.10622664e-16 -6.10622664e-16  1.11022302e-16  5.55111512e-17
 -3.88578059e-16  5.55111512e-16  2.77555756e-16 -7.21644966e-16
 -3.33066907e-16  6.66133815e-16  1.14779262e-28 -4.75288695e-29
 -4.44089210e-16  5.55111512e-16  1.66533454e-16 -7.77156117e-16
  4.99600361e-16 -3.88578059e-16  6.66133815e-16 -8.88178420e-16
  6.66133815e-16 -1.38777878e-16  1.66533454e-16 -4.44089210e-16
  4.44089210e-16 -3.05311332e-16  2.77555756e-17  1.94289029e-16
 -8.32667268e-17 -1.11022302e-16 -3.40196265e-29  3.33066907e-16
 -3.33066907e-16 -1.11022302e-16  2.49800181e-16  5.55111512e-17
 -1.66533454e-16  1.38777878e-16 -3.88578059e-16  4.44089210e-16
  1.11022302e-16 -4.99600361e-16  2.49800181e-16  1.11022302e-16
  8.32667268e-17 -4.99600361e-16  3.60822483e-16 -1.38777878e-16
  2.22044605e-16 -2.77555756e-16  1.38777878e-16  8.32667268e-17
 -1.38777878e-16  1.38777878e-16 -3.33066907e-16  5.82867088e-16
 -3.60822483e-16 -8.32667268e-17  1.11022302e-16 -7.78507106e-29
  9.73750180e-29  5.55111512e-17 -2.49800181e-16  4.71844785e-16
 -3.33066907e-16 -8.32667268e-17  1.11022302e-16  3.05311332e-16
 -3.88578059e-16  1.94289029e-16 -3.60822483e-16  3.05311332e-16
  1.11022302e-16 -3.15544362e-29 -3.05311332e-16  1.38777878e-16
 -2.77555756e-17  2.77555756e-17  2.77555756e-16 -2.49800181e-16
 -8.32667268e-17  8.32667268e-17 -5.55111512e-17 -8.32667268e-17
  2.63677968e-16 -1.66533454e-16  5.55111512e-17 -6.93889390e-17
  1.52655666e-16 -1.11022302e-16 -1.38777878e-17 -6.93889390e-17
  2.35922393e-16 -2.22044605e-16  6.93889390e-17  2.77555756e-17
 -1.38777878e-17 -5.55111512e-17  1.11022302e-16 -5.55111512e-17
  2.77555756e-17 -1.80411242e-16  2.63677968e-16 -1.52655666e-16
  9.71445147e-17 -4.16333634e-17 -1.24900090e-16  9.71445147e-17
  1.38777878e-16 -1.94289029e-16  5.55111512e-17  6.93889390e-17
 -1.38777878e-16  6.93889390e-17  9.71445147e-17 -1.38777878e-16
  9.02056208e-17 -6.24500451e-17  3.46944695e-17  1.38777878e-17
 -2.08166817e-17 -2.08166817e-17 -2.08166817e-17  6.24500451e-17
 -2.77555756e-17  1.17961196e-16 -1.38777878e-16  5.55111512e-17
 -9.02056208e-17  7.63278329e-17 -4.85722573e-17  3.46944695e-17
  1.21430643e-16 -2.22044605e-16  9.71445147e-17  1.38777878e-17
 -2.08166817e-17 -8.32001736e-32 -1.04083409e-17  6.07153217e-17
 -7.80625564e-17  4.51028104e-17 -2.42861287e-17  2.34187669e-17
 -6.93889390e-18 -9.54097912e-18  1.04083409e-17  1.99600798e-03]


3. 计算Frobenius norm of A和infinity norm of B以及B的最大最小奇异值如下:

Frobenius norm of A:
315.6452733304756
Infinity norm of B:
125250.0
Largest singular value of B:
87334.52045641867
Smallest singular value of B:
0.5000049348346404

4. 利用power iteration计算最大特征值与特征向量如下,以及该过程的用时和迭代次数:


the largest eigenvalue: 14.56302125029349
the corresponding eigenvector: [ 0.12361281  0.07286369  0.06440281  0.00804451  0.08547785  0.01368947
 -0.06828184  0.20681719 -0.00817015  0.00238936 -0.15752785 -0.05059662
 -0.03000261 -0.00841857 -0.04806908 -0.07852211 -0.0342591  -0.0204867
  0.15616676 -0.05698637 -0.03884779 -0.12393633 -0.00842983 -0.05898371
  0.11846043 -0.01143223  0.01171184  0.08646208  0.00504062  0.00832979
  0.031465    0.03582166  0.0136217  -0.05038042 -0.01918877  0.08246743
  0.05654657 -0.00774141 -0.1062738   0.02531213 -0.02438493  0.02902315
  0.08531228 -0.00647231 -0.040772    0.01501828 -0.13332636 -0.07672544
  0.16714289 -0.03703347 -0.02754592 -0.02201467 -0.08784101  0.08247342
  0.02279965  0.01240908  0.0051003   0.10687741  0.12883699 -0.13031298
  0.01180475  0.01359119 -0.05610993  0.07448298  0.00681508  0.04724233
 -0.01813132  0.00166975 -0.02027411 -0.04442978 -0.06204201 -0.06972782
  0.0293892  -0.0043146  -0.03960774 -0.05409252  0.00555683 -0.02327194
 -0.06743281  0.05530615  0.0672979  -0.08078314 -0.00619852  0.0295183
  0.08212163 -0.01437103  0.00905568  0.06247293  0.08324388  0.07416616
  0.0771094   0.02349019 -0.17267379 -0.00287919 -0.05323184 -0.03739408
  0.11968668  0.02243675 -0.09297431 -0.01058048 -0.00834797  0.0785334
  0.01777444 -0.11510868 -0.23605885 -0.0486609  -0.04610934 -0.06821473
  0.04330559 -0.08187715  0.00547279 -0.03764618  0.01183631  0.09826414
 -0.05883557 -0.0464568  -0.01997839 -0.01117415 -0.02223054 -0.15672707
  0.06636165  0.09829503 -0.10569129 -0.02035492 -0.04734581 -0.05143958
 -0.01871603 -0.01275441  0.08844289  0.05202249 -0.09098967  0.02037148
 -0.07696619 -0.05398528  0.00493917  0.02374535  0.00396482 -0.00812714
 -0.10271461 -0.08379942 -0.05317772 -0.03447662 -0.1078547   0.00112179
 -0.01252117  0.03078584 -0.14604938  0.02647758  0.09364152  0.05841681
  0.0061161  -0.00299055  0.02739847  0.03418084  0.02355301 -0.03662753
 -0.08574543  0.02609885 -0.09226201 -0.05005782  0.07307425 -0.00897532
 -0.02079605 -0.02053959 -0.12124313  0.12587297 -0.05995061  0.09149506
  0.04556231 -0.01789365  0.06594054  0.08632529 -0.01239866 -0.03536085
 -0.14515002 -0.05355204  0.0693601   0.04374808 -0.00151067  0.12656415
 -0.0726156   0.00575673 -0.10270055 -0.05236257 -0.0080602  -0.02895695
  0.06777993 -0.01843962  0.00674073  0.14534832 -0.05846069  0.060517
 -0.0951764   0.01047931  0.08261516  0.01033986  0.02681952  0.09681206
 -0.08500236  0.19890409]
The number of iterations: 3448
computation time when varying n: 0.0874048662444693


5. 计算C的最大最小奇异值,以及n*p,可以得到 n*p ≈ 最大奇异值

The largest sigular of C for p=0.2:
41.260083234000454
The smallest sigular of C for p=0.2:
0.004305506479713173
n * p:
40.0
n*p is approximate to the largest singular, they are equal theoretically.


6. 计算A中与z最接近的值如下:

The closest value to z in A:
1.654755561930621e-05


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值