惟余莽莽 发表于 2020-8-11 16:05:11

关于python循环遍历

还是上次那个没有解决的问题
我现在想便利一个200*40的矩阵,这8000个数字每一个都是0到10中的一个,每一行每一列都有自己的对应规则,比如第一行平均值是4,第一列方差是3,如何才能实现呢?
我的想法是把所有的可能情况都列出来,然后检验是否符合要求,请问如何才能遍历这些情况?

yhhpf 发表于 2020-8-11 16:09:42

首先这些规则得明确是哪些吧,然后遍历的时候if判断好了哈0 0

惟余莽莽 发表于 2020-8-11 16:11:18

yhhpf 发表于 2020-8-11 16:09
首先这些规则得明确是哪些吧,然后遍历的时候if判断好了哈0 0

是啊,但是问题是8000个数字,怎么用循环让他一组一组生成呢?

zltzlt 发表于 2020-8-11 16:14:55

惟余莽莽 发表于 2020-8-11 16:11
是啊,但是问题是8000个数字,怎么用循环让他一组一组生成呢?

到底是生成数据还是遍历数据?

惟余莽莽 发表于 2020-8-11 16:15:31

zltzlt 发表于 2020-8-11 16:14
到底是生成数据还是遍历数据?

生成哈哈哈哈哈哈不好意思

yhhpf 发表于 2020-8-11 16:16:28

惟余莽莽 发表于 2020-8-11 16:11
是啊,但是问题是8000个数字,怎么用循环让他一组一组生成呢?

{:10_277:}咋问题能描述清楚点么...
你意思是一边生产,生产完一组判断一组???
那就循环嵌套下,先生成一组,生成完去盘点...

惟余莽莽 发表于 2020-8-11 16:22:03

yhhpf 发表于 2020-8-11 16:16
咋问题能描述清楚点么...
你意思是一边生产,生产完一组判断一组???
那就循环嵌套下,先 ...

对,我要找到那个符合条件的8000个数字

yhhpf 发表于 2020-8-11 16:27:56

惟余莽莽 发表于 2020-8-11 16:22
对,我要找到那个符合条件的8000个数字

...如果是数字直接有你来生成,那你生成的时候按照规则去生成即可;
...如果数字已经生成了,那你直接遍历去判断是否满足条件即可;

{:10_277:}

惟余莽莽 发表于 2020-8-11 16:29:49

yhhpf 发表于 2020-8-11 16:27
...如果是数字直接有你来生成,那你生成的时候按照规则去生成即可;
...如果数字已经生成了,那你直接遍 ...

数据没有生成,这不是不会用循环来生成这个嘛。。不知道用什么方法来生成

yhhpf 发表于 2020-8-11 16:38:11

本帖最后由 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')

这是随便一个生成矩阵例子...利用循环嵌套

惟余莽莽 发表于 2020-8-11 16:44:02

yhhpf 发表于 2020-8-11 16:38
这是随便一个生成矩阵例子...利用循环嵌套

是这样的,我还需要判断,比如说第一行的平均值是4,第一列的平方差是3,所以我在想是不是要用列表还是什么,方便调用,还有就是这个貌似是随机生成的,我想要从000000000000这种一个一个试,一直试到成功满足条件为止。

yhhpf 发表于 2020-8-11 16:47:08

惟余莽莽 发表于 2020-8-11 16:44
是这样的,我还需要判断,比如说第一行的平均值是4,第一列的平方差是3,所以我在想是不是要用列表还是什 ...

所以我才说,你生成的时候加入你的规则啊,我是取随机数去做的,你就不能改成自己想要的规则???
用列表是方便呀,所以我不是专门还给你写了个row += 1来代表第几行么???你完全可以利用这个去生成列表啊!

yhhpf 发表于 2020-8-11 16:47:46

惟余莽莽 发表于 2020-8-11 16:44
是这样的,我还需要判断,比如说第一行的平均值是4,第一列的平方差是3,所以我在想是不是要用列表还是什 ...

举一反三一下,老哥!

惟余莽莽 发表于 2020-8-11 17:02:08

yhhpf 发表于 2020-8-11 16:47
所以我才说,你生成的时候加入你的规则啊,我是取随机数去做的,你就不能改成自己想要的规则???
用列 ...

我们先拿一个2*2的矩阵举个例子,我想要的是0000判断一下,不符合条件,0001判断一下,0002判断一下,一直到10,10,10,10判断,如果用单纯的循环我感觉需要的是10的4次方,也就是我要写4个循环体,在最内层进行判断。是这样吧

yhhpf 发表于 2020-8-11 17:09:54

惟余莽莽 发表于 2020-8-11 17:02
我们先拿一个2*2的矩阵举个例子,我想要的是0000判断一下,不符合条件,0001判断一下,0002判断一下,一 ...

你不是按行来判断么...每行判断一次

惟余莽莽 发表于 2020-8-11 17:10:51

yhhpf 发表于 2020-8-11 17:09
你不是按行来判断么...每行判断一次

不是呀,有行有列,有的还是两行{:10_277:}

yhhpf 发表于 2020-8-11 17:18:29

惟余莽莽 发表于 2020-8-11 17:10
不是呀,有行有列,有的还是两行

给你加行了你就不能自己变通下加个列么...

惟余莽莽 发表于 2020-8-11 17:32:57

yhhpf 发表于 2020-8-11 17:18
给你加行了你就不能自己变通下加个列么...

不是,你可能没有明白我的意思,我的意思是8000个数字,每个都有十种可能,我岂不是要写8000个循环才能列举出所有的可能?

13691255250 发表于 2020-8-11 17:55:52

trans_matrix = [ for row in range(200)]
这个是生成200行40列,所有元素都为0 的矩阵

yhhpf 发表于 2020-8-12 08:47:33

惟余莽莽 发表于 2020-8-11 17:32
不是,你可能没有明白我的意思,我的意思是8000个数字,每个都有十种可能,我岂不是要写8000个循环才能列 ...

给你俩选择,要么就把问题发的明明白白的
要么你就按照我给你的方法自己举一反三一下!哪里来要写8000个循环的?就我给的那随机8000个数字不就2个循环嵌套200*40=8000个么!
页: [1]
查看完整版本: 关于python循环遍历