python 怎么给矩阵里的每一个元素赋值

想让矩阵的每一个元素都有70%的几率为1, 但是输出后会变成这种情况
space?5

percent?50

0 0 0 1 0

0 0 0 1 0

0 0 0 1 0

0 0 0 1 0

0 0 0 1 0
请问源代码该怎么修改才好
import random
n = input("space?")
percent = input("percent?")
earth = [[0]*n]*n
def showBoard():
for i in range(n):
for j in range(n):
print earth[i][j] ,
print
def treeSet():
for i in range(n):
for j in range(n):
per = random.uniform(0,1) * 100
if per >= 70:
earth[i][j] = 1
else:
earth[i][j] = 0
treeSet()
showBoard()

方法一:

1、如图所示是我们创建了一个矩阵,一般我们的操作过程中有矩阵的话那么在工作区就会出现,如图所示,我们可以双击工作区的需要更改的矩阵。

2、然后在弹出的表格中选中需要更改的单个矩阵元素,进行更改即可。

方法二:

1、我们也可以通过语句来实现对矩阵单个元素的赋值操作。我们可以通过下面的语句:

a(1,2)=100

如图所示就可以看到我们矩阵的该位置元素数值已经更改了。

2、假如我们输入的行数和列数大于原来的矩阵会出现什么现象呢?我们可以试试,我们输入a(5,6)=100,来看看结果。

3、我们可以看到矩阵会自动扩展成5行6列的一个新的矩阵,其余为赋值的区域会自动为0,我们也可以通过这个方法来对矩阵进行扩展。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-30

我也研究了很久,终于发现问题了.

函数没错.

错在定义 earth 的时候.

earth = [[0]*n]*n  # does not work
earth = [[0,0,0],[0,0,0],[0,0,0]]  # work

 

如果想 python 当中应用矩阵运算.

你就需要了解 numpy 这个库.

你可以百度一下 "numpy 莫烦", 莫烦教程有一系列的 numpy 教学教程.

本回答被提问者和网友采纳
第2个回答  2018-06-04
答非所问,问的是Python 给的确实MATLAB,还推送到百度第一条,每次都误导人!

用Python编写n×n矩阵每个元素的平方和,使用自定义函数?
该函数主要分为两个步骤:生成n×n的矩阵。使用列表推导式生成一个n×n的矩阵,其中每个元素的值为该元素在矩阵中的行列坐标之和。计算每个元素的平方和。使用双重循环遍历矩阵中的每个元素,计算每个元素的平方和。该函数的时间复杂度为O(n^2),因为需要遍历n×n个元素以计算每个元素的平方和。

python中怎么向空矩阵的每个位置添加指定的数
使用列表就可以,python中向列表中添加元素使用append方法,也就是:E.append(y)

Python中将多维矩阵中每个元素变为原来的倒数?
可以使用NumPy库来操作多维矩阵,可以使用 `numpy.reciprocal()` 函数将数组中的每个元素替换为其倒数。以下是一个简单的Python代码示例:import numpy as np 创建一个二维矩阵 matrix = np.array([[1, 2], [3, 4]], dtype=float)将矩阵中的每个元素替换为其倒数 reciprocal_matrix = np.reci...

python中[[False]*(p_len + 1) for _ in range(s_len + 1)] 和[[Fa...
假如s_len = 2, p_len =1 则前者打印出来是, 0, 0 ,0 而后者直接打印的是0

python中怎样建立一个只知道行数不知道列数的矩阵
用列表的嵌套就行了,下面是一个例子。注意:最左边每个=表示一个空格 将n修改为你需要的行数 n=6 lsts=[[] for e in range(0,n)]i=1 为每一行赋值 第i行有i列 for lst in lsts:===for e in range(1,i+1):===lst.append(e)===i+=1 print(lsts)

python编程,我建立一个2*2矩阵,然后想其中每个元素都乘上一个实数,于是...
安装numpy,利用numpy数组:>>> import numpy >>> array1 = numpy.array([[1, 2], [3, 4]])>>> array1 array([[1, 2],[3, 4]])>>> array1 * 2.5 array([[ 2.5, 5. ],[ 7.5, 10. ]])如果你用的是python的列表,它的乘法是列表的自我复制,[1, 2] * 2...

统计python矩阵里有多少个0(python统计矩阵中每个元素出现的次数)
补充:count方法在python中是各种类型对象一般都有的方法,仿照上面的代码就行。格式:对象名.count(你想计算其出现次数的元素)请问怎样用python提取矩阵目标所在列比如012341234023401中每行的0所在的列#很简单,你只需要把那个矩阵的每行看成一个列表就好了。def?print_row(n):print?list1[n]print?

python怎么操作多维数组元素?
更新每一个单元格时需要通过table[d1]选择每一行;这是一个包含6个值的列表。这个列表中选定的单元格通过...[d2]进行选择。我们将掷骰子的值赋给这个单元格,d1+d2+2。其他示例:打印出的列表的列表不太容易阅读。下面的循环会以一种更加可读的形式显示表格。for row in table:print row[2, ...

python中矩阵合并、拼接、组合
在Python中,矩阵的合并、拼接、组合是常见操作,尤其在科学计算和数据分析领域。这里主要介绍使用numpy库进行矩阵操作的几种方法。对于numpy数组,可以使用append()函数将一个数添加到一个向量中。例如,如果有向量arr,可以通过arr.append(num)来添加一个元素num。对于更复杂的矩阵合并,numpy提供了stack()...

python numpy中的矩阵,对矩阵一行赋值时候,小数为啥都变成整数了?_百 ...
你在定义矩阵的时候应该指明元素是int还是浮点类型,不然默认整数类型,所以不管你赋给他的是小数,都会自动转成整数

相似回答