按照你的要求编写的Python语言的矩阵程序如下
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了祁阳免费建站欢迎大家使用!
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def printMatrix(n):
arr = [ [0 for i in range(n)] for j in range(n)]
curNum = 1
for i in range(0,2*n-1):
if i%2 == 0:
for j in range(0,n):
for k in range(0,n):
if j+k==i:
arr[j][k] = curNum
curNum=curNum+1
else:
for j in range(n-1,-1,-1):
for k in range(n-1,-1,-1):
if j+k==i:
arr[j][k] = curNum
curNum=curNum+1
for i in range(0,n):
for j in range(0,n):
print (arr[i][j],"\t",end='')
print ("\n")
printMatrix(10)
# Python3.6
import numpy as np
while True:
x = input("输入一个m维数组,元素以空格分开:")
try:
# split input
x = x.split()
s = []
# iterate:str--int
for i in x:
s.append(int(i))
x = s
break
except:
print("输入有错,请重新输入。")
while True:
n = input("整数n:")
try:
n = int(n)
break
except:
print("输入有错,请重新输入。")
# map object --list object
lst = [i for i in x]
# list object --numpy.array object
mtrx = np.array(lst)
# copy the 1st line of matrix as a template
mtrx_1 = np.copy(mtrx)
k = len(mtrx)
# reshape (k,) to (1,k) for concatenate
mtrx = np.reshape(mtrx, (1, k))
# calculate left lines
for i in range(1, n):
tmp = np.power(mtrx_1, i+1)
tmp = np.reshape(tmp, (1, k))
mtrx = np.concatenate((mtrx, tmp), axis=0)
print(mtrx)
for i in range(10):
for j in range(10):
if j=i:
print("%4d"%(i*10+j+1),end='')
else:
print("%4d"%0,end='')
print()
numpy.random包可以实现这一功能。numpy包是python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比python自身的嵌套列表结构要高效的多,同时该结构也可以用来表示矩阵。
from
numpy
import
random
randarray
=
random.random(size=(2,4))
random函数接收需要生成随机矩阵的形状的元组作为唯一参数。上面的代码将会返回一个两行四列的随机矩阵,随机数的值位于0到1之间,矩阵是numpy.array类型。除了random函数外,还有生成整数随机矩阵的函数randint等等。
print函数是python语言中的一个输出函数,可以输出以下几种内容
1. 字符串和数值类型 可以直接输出
print( 1)
1
print( "Hello World")
Hello World
2.变量
无论什么类型,数值,布尔,列表,字典...都可以直接输出
x = 12
print(x)
12
s = 'Hello'
print(s)
Hello
L = [ 1, 2, 'a']
print(L)
[ 1, 2, 'a']
t = ( 1, 2, 'a')
print(t)
( 1, 2, 'a')
d = { 'a': 1, 'b': 2}
print(d)
{ 'a': 1, 'b': 2}
3.格式化输出
类似于C中的 printf
s
'Hello'
x = len(s)
print( "The length of %s is %d" % (s,x) )
The length of Hello is 5
【注意】
Python2和3的print函数格式不同,3要求加括号(print())
缩进最好使用4个空格