关于python循环遍历
还是上次那个没有解决的问题我现在想便利一个200*40的矩阵,这8000个数字每一个都是0到10中的一个,每一行每一列都有自己的对应规则,比如第一行平均值是4,第一列方差是3,如何才能实现呢?
我的想法是把所有的可能情况都列出来,然后检验是否符合要求,请问如何才能遍历这些情况? 首先这些规则得明确是哪些吧,然后遍历的时候if判断好了哈0 0 yhhpf 发表于 2020-8-11 16:09
首先这些规则得明确是哪些吧,然后遍历的时候if判断好了哈0 0
是啊,但是问题是8000个数字,怎么用循环让他一组一组生成呢? 惟余莽莽 发表于 2020-8-11 16:11
是啊,但是问题是8000个数字,怎么用循环让他一组一组生成呢?
到底是生成数据还是遍历数据? zltzlt 发表于 2020-8-11 16:14
到底是生成数据还是遍历数据?
生成哈哈哈哈哈哈不好意思 惟余莽莽 发表于 2020-8-11 16:11
是啊,但是问题是8000个数字,怎么用循环让他一组一组生成呢?
{:10_277:}咋问题能描述清楚点么...
你意思是一边生产,生产完一组判断一组???
那就循环嵌套下,先生成一组,生成完去盘点... yhhpf 发表于 2020-8-11 16:16
咋问题能描述清楚点么...
你意思是一边生产,生产完一组判断一组???
那就循环嵌套下,先 ...
对,我要找到那个符合条件的8000个数字 惟余莽莽 发表于 2020-8-11 16:22
对,我要找到那个符合条件的8000个数字
...如果是数字直接有你来生成,那你生成的时候按照规则去生成即可;
...如果数字已经生成了,那你直接遍历去判断是否满足条件即可;
{:10_277:} yhhpf 发表于 2020-8-11 16:27
...如果是数字直接有你来生成,那你生成的时候按照规则去生成即可;
...如果数字已经生成了,那你直接遍 ...
数据没有生成,这不是不会用循环来生成这个嘛。。不知道用什么方法来生成 本帖最后由 yhhpf 于 2020-8-11 16:39 编辑
惟余莽莽 发表于 2020-8-11 16:29
数据没有生成,这不是不会用循环来生成这个嘛。。不知道用什么方法来生成
from random import randint
row = 0
for a in range(200):
row += 1
print('')
for b in range(40):
print(randint(0,10),end='\t')
这是随便一个生成矩阵例子...利用循环嵌套
yhhpf 发表于 2020-8-11 16:38
这是随便一个生成矩阵例子...利用循环嵌套
是这样的,我还需要判断,比如说第一行的平均值是4,第一列的平方差是3,所以我在想是不是要用列表还是什么,方便调用,还有就是这个貌似是随机生成的,我想要从000000000000这种一个一个试,一直试到成功满足条件为止。 惟余莽莽 发表于 2020-8-11 16:44
是这样的,我还需要判断,比如说第一行的平均值是4,第一列的平方差是3,所以我在想是不是要用列表还是什 ...
所以我才说,你生成的时候加入你的规则啊,我是取随机数去做的,你就不能改成自己想要的规则???
用列表是方便呀,所以我不是专门还给你写了个row += 1来代表第几行么???你完全可以利用这个去生成列表啊! 惟余莽莽 发表于 2020-8-11 16:44
是这样的,我还需要判断,比如说第一行的平均值是4,第一列的平方差是3,所以我在想是不是要用列表还是什 ...
举一反三一下,老哥! yhhpf 发表于 2020-8-11 16:47
所以我才说,你生成的时候加入你的规则啊,我是取随机数去做的,你就不能改成自己想要的规则???
用列 ...
我们先拿一个2*2的矩阵举个例子,我想要的是0000判断一下,不符合条件,0001判断一下,0002判断一下,一直到10,10,10,10判断,如果用单纯的循环我感觉需要的是10的4次方,也就是我要写4个循环体,在最内层进行判断。是这样吧 惟余莽莽 发表于 2020-8-11 17:02
我们先拿一个2*2的矩阵举个例子,我想要的是0000判断一下,不符合条件,0001判断一下,0002判断一下,一 ...
你不是按行来判断么...每行判断一次 yhhpf 发表于 2020-8-11 17:09
你不是按行来判断么...每行判断一次
不是呀,有行有列,有的还是两行{:10_277:} 惟余莽莽 发表于 2020-8-11 17:10
不是呀,有行有列,有的还是两行
给你加行了你就不能自己变通下加个列么...
yhhpf 发表于 2020-8-11 17:18
给你加行了你就不能自己变通下加个列么...
不是,你可能没有明白我的意思,我的意思是8000个数字,每个都有十种可能,我岂不是要写8000个循环才能列举出所有的可能? trans_matrix = [ for row in range(200)]
这个是生成200行40列,所有元素都为0 的矩阵 惟余莽莽 发表于 2020-8-11 17:32
不是,你可能没有明白我的意思,我的意思是8000个数字,每个都有十种可能,我岂不是要写8000个循环才能列 ...
给你俩选择,要么就把问题发的明明白白的
要么你就按照我给你的方法自己举一反三一下!哪里来要写8000个循环的?就我给的那随机8000个数字不就2个循环嵌套200*40=8000个么!
页:
[1]