Python编写九宫格程序

2022-05-18 19:41:20   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《Python编写九宫格程序》,欢迎阅读!
九宫,编写,程序,Python
importitertools importnumpy as np

nums = [x for x in range(1,10)]

#1910个数组成的数组赋值给nums

sequence_3nums = [p for p in itertools.permutations(nums,3) if sum(p)==15]

#nums中一次选出一个数赋值给p,最终得到sequence_3nums是一个1*3的数组,且满足三个数之和为15

for row1_1,row1_2,row1_3 in sequence_3nums:

#sequence_3nums中选择一组赋值给row1_1,row1_2,row1_3 for row2_1,row2_2,row2_3 in sequence_3nums: for row3_1,row3_2,row3_3 in sequence_3nums:

if row1_1+row2_1+row3_1==15 and row1_2+row2_2+row3_2==15 \ and row1_3+row2_3+row3_3==15 and row1_1+row2_2+row3_3==15 \ and row3_1+row2_2+row1_3==15 :

#筛选出每一行,每一列,对角线元素之和为15的矩阵

if len(set([row1_1,row1_2,row1_3])&set([row2_1,row2_2,row2_3]))==0 \ and

len(set([row1_1,row1_2,row1_3])&set([row3_1,row3_2,row3_3]))==0 \ and

len(set([row2_1,row2_2,row2_3])&set([row3_1,row3_2,row3_3]))==0: #筛选出每一个九宫格中的数字均不相同的矩阵


A=np.array([row1_1,row1_2,row1_3,row2_1,row2_2,row2_3,row3_1,row3_2,row3_3]) B=A.reshape(3,3) #输出结果


本文来源:https://www.wddqxz.cn/5cdd1e81ba4cf7ec4afe04a1b0717fd5370cb265.html

相关推荐