使用Python编写数独游戏自动出题程序
数独是一个很好玩的游戏,可以锻炼推理能力。下面的代码可以自动生成数独游戏题目。
from random import shuffle, randrange
def generate():
# 初始网格
result = []
line = list(range(1,10))
for i in range(9):
result.append(line)
line.append(line.pop(0))
# 注意,这里的切片很重要
line = line[:]
# Python允许函数的嵌套定义
def switchRows(first, second):
# 这里的括号和换行不是必须的
# 只是为了方便手机阅读
(result[first],
result[second]) =\
(result[second],
result[first])
def switchColumns(first, second):
for index in range(9):
(result[index][first],
result[index][second]) =\
(result[index][second],
result[index][first])
# 随机交换行
randomRows = list(range(9))
shuffle(randomRows)
for i in range(0,7,2):
switchRows(randomRows[i],\
randomRows[i+1])
# 随机交换列
randomColumns = list(range(9))
shuffle(randomColumns)
for i in range(0,7,2):
switchColumns(randomColumns[i],\
randomColumns[i+1])
# 随机清空一些格子
num = randrange(25, 50)
positions = {(randrange(9),randrange(9))\
for i in range(num)}
for row, col in positions:
result[row][col] = ' '
return result
def output(grids):
print('+'+'-+'*9)
for row in range(9):
line = '|'.join(map(str,grids[row]))
line = line.join(['|']*2)
print(line)
print('+'+'-+'*9)
grids = generate()
output(grids)
运行结果一:
运行结果二:
运行结果三:
-----------我是分割线----------
相关阅读:
使用Python编写程序求解数独游戏答案
----------我是分割线-----------
热烈庆祝拙作《Python可以这样学》被宝岛台湾的博硕文化股份有限公司(出版社)引入宝岛台湾发行繁体版。
使用Python编写数独游戏自动出题程序相关推荐
- python漂亮界面 数独游戏源代码_使用Python编写数独游戏自动出题程序
原标题:使用Python编写数独游戏自动出题程序 数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. fromrandom importshuffle, randrange ...
- python数独游戏源代码_使用Python编写数独游戏自动出题程序
数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. from random import shuffle, randrange def generate(): # 初始网格 ...
- 数独游戏python制作_使用Python编写数独游戏自动出题程序
数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. from random import shuffle, randrange def generate(): # 初始网格 ...
- 一分钟教你学会python_十分钟教你学会python编写小游戏
原标题:十分钟教你学会python编写小游戏 看过,估计大家都已经精通了吧,好的,话不多说,今天就活学活用,用python来编写纸牌游戏21点,江湖人称黑杰克,BLACK JACK-(注意法式卷舌). ...
- python编写小游戏17_十分钟教你学会python编写小游戏
原标题:十分钟教你学会python编写小游戏 看过,估计大家都已经精通了吧,好的,话不多说,今天就活学活用,用python来编写纸牌游戏21点,江湖人称黑杰克,BLACK JACK-(注意法式卷舌). ...
- python编写剪刀石头布游戏_闲着也是闲着:PYTHON 编写剪刀石头布游戏
闲着也是闲着:PYTHON 编写剪刀石头布游戏 突如其来的一场变故,使得这个假期尤为的漫长,特别是不知什么时候终结的假期,尤其的漫长.闲着也是闲着,不如来学习学习Python吧. 我学习新的语言,不喜 ...
- Python编写的桌面图形界面程序实现更新检测和下载安装
在Python中我们有很多种方案来编写桌面图形用户界面程序,譬如内置的 Tkinter .强大的 PyQt5 和 PySide2 ,还有 wxPython .借助这些或内置或第三方的模块,我们可以轻松 ...
- python 儿童 游戏_少儿编程分享:手把手教你用Python编写战斗机游戏(完)
原标题:少儿编程分享:手把手教你用Python编写战斗机游戏(完) 加入图像 现在我们已经能够玩游戏了,但这个游戏丑确实有点丑 .接下来,我们要把单调的白色矩形换成好看的图片. 在前面的代码中,我们用 ...
- 怎么用python做战斗机_少儿编程分享:手把手教你用Python编写战斗机游戏(四)
游戏分享:手把手教你用Python编写 战斗机游戏(四) 2018.1.25 飞机大战就到这里啦 你的飞机大战做出来了吗 加入图像 现在我们已经能够玩游戏了,但这个游戏丑确实有点丑.接下来,我们要把单 ...
最新文章
- MODS: Fast and Robust Method for Two-View Matching
- 从明面上学习ASP.NET Core
- 【转】ABP源码分析二十九:ABP.MongoDb
- wxpython显示图片_wxpython下图片局部显示的方法
- python-模块的嵌套调用-随堂草稿件
- web.config forms节点中的属性的含义和用途
- 使用@property
- Postman系列之Tests断言
- 统信系统UOS桌面版V20 用户手册
- SSH婚庆策划系统案例
- 游戏辅助制作技术分析
- zigbee学习之JN5169 ADC外设
- 关于ADL的查找顺序
- x3650服务器引导盘制作,IBM X System ServerGuide 8.41 服务器 系统安装 引导盘图文教程...
- 第一次作业——肖祥英
- 在Ubuntu上编译gptfdisk的方法
- 微巨科技:公众号迁移公证流程及注意事项
- python最好用的助手_python 好用
- c语言编写f16仿真程序,想学习一下 用C语言开发PIC的F16和F18系列单片机, 结果让IDE开发环境给搞悲剧,巨难用,...
- 伪代码基本规范~呦呦呦
热门文章
- html代码id,浅谈html中id和name的区别实例代码
- bootstrap 图片居中,浅谈Bootstrap中的垂直水平居中
- C语言socket发送json,C++实现Socket传输json封装的Mat
- 长兴哪里有免费学计算机,2020年曲靖长兴职业技术学校计算机应用专业介绍
- java 类型转换原理_9.java数据类型的转换
- idea server日志乱码_windows下,Kiwi_Syslog日志服务器的搭建
- linux判断字符串命令行,bash – 将命令行参数与字符串进行比较
- git学习3--关联不同的网址的远程分支
- git commit之后后面的操作步骤
- 关于腾讯应用管理中心,认领应用