美文网首页ITS·黑客
Python小实验——数独游戏

Python小实验——数独游戏

作者: 木凛 | 来源:发表于2017-04-17 13:01 被阅读0次

1)简化迭代模型-->填充数字

引入itertools.product()函数能够把之前需要两层以上迭代才能完成的工作用一层迭代就完成

>>> print list(product([1,2,3],[3,4]))

[(1, 3), (1, 4), (2, 3), (2, 4), (3, 3), (3, 4)]

>>>

>>> print list(product([1,2,3],repeat = 2))

[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]

2)拷贝,copy函数-->打印数独列表

在介绍我们的打印函数之前,先介绍一下我们即将要完成的函数中要用到的 copy.deepcopy() 函数。

>>> a = list(range(5))

>>> print a

[0, 1, 2, 3, 4]

>>> b = a

>>> a[3] = 7

>>>

>>> print b

[0, 1, 2, 7, 4]

Python 中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。

>>> a = list(range(5))

>>> print a

[0, 1, 2, 3, 4]

>>> import copy

>>> b = copy.deepcopy(a)

>>> a[3] = 7

>>> print b

[0, 1, 2, 3, 4]

这次的赋值不再单单传递了一个 变量a 的引用,而是实实在在的为 变量b 分配了内存空间。

3)方便单位调用-->打印数独列表

这里用到了print.format()函数,举例说明:

>>> print '{} and {}'.format('spam', 'eggs')

spam and eggs

但是在代码中我们运用了更加高级的技巧

print("||  {}  |  {}  |  {}  ||  {}  |  {}  |  {}  ||  {}  |  {}  |  {}  ||"

.format(*(cell or ' ' for cell in line)))

每一个 "{}" 都对应了一个 cell 变量。而format()函数中的 * 号,则是将所有的 cell 的不同值放入一个元组 tuple 之中,方便format函数调用。

相关文章

  • Python小实验——数独游戏

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

  • python实现自动解数独小程序

    跟朋友最近聊起来数独游戏,突发奇想使用python编写一个自动计算数独解的小程序。 数独的规则不再过多阐述,在此描...

  • 数独游戏

    妈妈在跟我一起研究,没找着规律还挺难!

  • 数独游戏

    我已经找着规律自己会做了!

  • 数独游戏

    我在做数独游戏题!

  • 数独游戏

    超好用数独应用,数独能力提升! 海量高质题库,保证唯一解 人性化操作模式,方便高效 丰富辅助功能,帮助你解决难题 ...

  • 数独游戏

    数独游戏是对智慧和毅力的考验,它源自18世纪末的瑞士,后在美国发展,并在日本得以发扬光大的数字谜题.利用逻辑和推理...

  • 数独游戏

    如题。 介绍的是一款消磨时间的游戏。 在苹果的app store搜索框中输入“数独”,排在最前面的就是今天要介绍的...

  • 数独游戏

    我很喜欢数字,日常工作是和数字打交道,偶尔玩游戏也愿意选择数独。 数独的魅力是无穷的。小小九宫格,简简单单九个数字...

  • 数独游戏

    很多年不玩数独了,最近这两天我又饶有兴致地重新开始了。 第一次了解数独游戏还是通过当年的某份报纸,在它其中一个版面...

网友评论

    本文标题:Python小实验——数独游戏

    本文链接:https://www.haomeiwen.com/subject/ahrtzttx.html