我的代码目前写成:

convert = {0:0,1:1,2:2,3:3,4:0,5:1,6:2,7:1} 
rows = [[convert[random.randint(0,7)] for _ in range(5)] for _ in range(5)] 
numgood = 25 - rows.count(0) 
 
print numgood 
>> 25 

它总是以 25 的形式出现,所以不仅仅是行不包含 0。

请您参考如下方法:

您打印了吗rows ?

它是 [[0, 1, 0, 0, 2], [1, 2, 0, 1, 2], [3, 1, 1, 1, 1], [1, 0, 0, 1, 0], [0, 3, 2, 0, 1]] ,所以你有一个嵌套列表。

如果要统计0的数量在那些嵌套列表中,您可以尝试:

import random 
 
convert = {0:0, 1:1, 2:2, 3:3, 4:0, 5:1, 6:2, 7:1} 
rows = [[convert[random.randint(0, 7)] for _ in range(5)] for _ in range(5)] 
 
numgood = 25 - sum(e.count(0) for e in rows) 
print numgood 

输出:
18 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!