所以我刚制作了一个可以生成9×9矩阵的Sudoku生成器.我的行,列和子3×3矩阵都应该遵循Sudoku的规则.只有我的专栏不遵守规则.有人可以帮忙吗?这是我的代码:

import random

maxAttempts = 100 #stops the program after 100 attempts

count = 9999

solCount = 0

while count > maxAttempts:

solCount +=1

# init array

puzzle = []

for i in range(9):

row = []

for j in range(9):

row.append(0)

#print row

puzzle.append(row)

##for r in puzzle:

## print r

# get random value

for row in range(9):

for col in range(9):

thisRow=puzzle[row]

thisCol=[]

for h in range(9):

thisCol.append(puzzle[row][col])

subCol = int(col/3)

subRow = int(row/3)

subMat = []

for subR in range (3):

for subC in range (3):

subMat.append(puzzle[subRow*3 + subR][subCol*3 + subC])

randVal = 0

count = 0

while randVal in thisRow or randVal in thisCol or randVal in subMat:

randVal = random.randint(1,9)

count+=1

if count > maxAttempts: break

puzzle[row][col] = randVal

if count > maxAttempts: break

if count > maxAttempts:

break

for r in puzzle: print r

最佳答案

for h in range(9):

thisCol.append(puzzle[h][col])

只需用[h]替换[row],你就可以了.

python数独解题器_python-2.7 – 数独生成器相关推荐

  1. python数独解题器_Python编写的超帅数独可视化解题器

    数独相信大家都玩过,它被称为"聪明人的游戏",在很多人眼里: 会玩数独=高智商 为什么?因为数独能够培养观察力,提高反应力:数独的练习能够锻炼手眼脑的协调性.提高手脑并用的能力,锻 ...

  2. python面试装饰器_Python测开面试题之装饰器

    Python的装饰器是面试常被问到的问题之一,在面试Python测试开发时被问到的概率不低于70%,那么装饰器的原理是什么,怎么快速写出一个装饰器呢,接下来我们详细讲解装饰器的实现方法. Python ...

  3. python函数修饰器_Python函数装饰器指南

    Python 具有强大的功能和富有表现力的语法.我最喜欢的装饰之一.在设计模式的上下文中,装饰器动态更改方法或类功能,而不必直接使用子类.当您需要扩展功能,但不想修改原函数时,这是理想的选择.我们可以 ...

  4. python基础装饰器_Python基础 装饰器及练习

    Python视频教程讲解装饰器 推荐免费:Python视频教程 装饰器概念 装饰器,说白了,就是用来装饰函数的一个函数. 装饰器遵循 开放封闭原则.依赖倒置原则,这两个原则概念,自行百度下, 装饰器长 ...

  5. python进阶装饰器_Python进阶: 通过实例详解装饰器(附代码)

    Python中的装饰器有很多用处,比如输出日志.参数检查.代理设置.计数计时.结果缓存等等.本文就通过几个装饰器例子,详细解释一下Python中装饰器的用法.一步步从简到繁学习装饰器用法 其他一些装饰 ...

  6. python实现装饰器_Python装饰器是怎么实现的?

    Python中的装饰器是通过利用了函数特性的闭包实现的,所以在讲装饰器之前,我们需要先了解函数特性,以及闭包是怎么利用了函数特性的 ① 函数特性 python中的函数特性总的来说有以下四点: 1. 函 ...

  7. python小说下载器_python 制作网站小说下载器

    基本开发环境 · Python 3.6 · Pycharm 相关模块使用 目标网页分析 输入想看的小说内容,点击搜索 这里会返回很多结果,我只选择第一个 网页数据是静态数据,但是要搜索,是post请求 ...

  8. python数独解题器,Python中最短的数独求解器 – 它是如何工作的?

    那么,通过修正语法,可以使事情变得更容易: def r(a): i = a.find('0') ~i or exit(a) [m in[(ij)%9*(i/9^j/9)*(i/27^j/27|i%9/ ...

  9. python可以数独游戏吗_Python小实验——数独游戏

    1)简化迭代模型-->填充数字 引入itertools.product()函数能够把之前需要两层以上迭代才能完成的工作用一层迭代就完成>>> print list(produc ...

  10. python开发视频播放器_python视频播放器

    广告关闭 100GB直播流量包仅需9.9元,10TB点播流量包仅需999元,参与活动还赠移动直播SDK,短视频SDK,小程序插件等,大促100%中奖率 最近研究了python的两个gui包,tkint ...

最新文章

  1. 脊回归(Ridge Regression) 岭回归
  2. 重装win8系统后变成C盘了别的分区的资料怎样恢复
  3. Vijos P1067Warcraft III 守望者的烦恼
  4. Hive DML操作
  5. Nginx中浏览器缓存的执行流程
  6. fibonacci数列的性质(ZOJ3707)
  7. java表数据去重_java8实现列表去重,java8的stream 和lambda的使用实例
  8. oracle中xml如何存储过程,oracle存储过程生成xml文件
  9. XCode SDK接入时提示: UIApplicationInvalidInterfaceOrientation
  10. opengl画的弧线 为什么有一个半径_6个1画生日蛋糕,也太简单啦【图文+视频教程】...
  11. Qt5学习笔记之串口助手四:增加16进制/ASCII切换、周期发送
  12. Xcode8上传app一直显示正在处理
  13. Java编程:递归(迷宫问题、八皇后问题)
  14. storm中分组策略Field Grouping简单总结笔记
  15. 自制工具:CSV代码生成器:自动生成CSV文件对应的C++实体类和字段类型解析代码
  16. 交换机配置VLAN(思科模拟器实现)
  17. 耀月家族公会部门规定职责等2011-11-26
  18. 在ubuntu16.04中安装curl及遇到的问题
  19. dashboard android,Dashboard软件下载
  20. Linux命令之dos2unix

热门文章

  1. apizza+导出html文档,apizza导出为html后,从中提取api_name/api_path/api_method,保存到本地,方便根据接口名称得到接口路径与请求方法...
  2. ffmpeg下载安装教程及介绍
  3. js 图片上传时加水印
  4. APP性能测试之功耗测试
  5. ubuntu下查看USB摄像头参数以及摄像头测试
  6. QImage类详解(QImage类型转换、QImage类函数及QImage像素操作)
  7. Android代码里面设置字体颜色的三种方法
  8. 雷神笔记本关闭跳出垃圾游戏广告
  9. KNN 算法实现 Iris 数据集分类
  10. ZYNQ研究----(2)基于开发板制作串口测试程序