首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么?print 函数还可以打印彩色围棋局面?

作者 | 天元浪子  责编 | 张文

头图 | CSDN 下载自东方 IC

出品 | CSDN(ID:CSDNnews)

尽管 print 函数是初学者最先接触到的第一个 Python 标准函数,但很多人并没有真正了解它。我曾经在《用 print() 函数实现的三个特效》一文中展示了 print 函数的一些实用技巧,受到读者热捧。

今天,我再给大家介绍 print 函数的另一个技巧:打印彩色文字和图案,并在最后定义一个打印围棋局面的函数,可以打印出下图这样的效果。

毕竟是在文本模式下,print 函数支持的彩色比较少,只有 8 种,如下表所示。

print 支持以下几种显示模式:

0 - 默认

1 - 高亮

4 - 下划线

5 - 闪烁

7 - 反白

8 - 隐藏

22 - 去高亮

24 - 去下划线

25 - 去闪烁

27 - 去反白

28 - 去隐藏

使用 print 函数打印彩色文字或图案时,每一行以前缀“\033[”开始,其后紧跟显示模式、前景色和背景色,三者中间以分号分割,后接小写字母“m”。在显示内容之后,一般以后缀“\033[0m”结束。

上面的代码显示效果如下图所示。

不过,如果你是在 Windows 环境中运行的话,估计不会出现这个期望的结果。

我猜测这应该是 Python 的一个非常古怪且难以解决的 bug,从 Py2 时代就一直如此。解决方案也很奇葩,使用 os 模块的 system 函数运行一次空命令就 OK 了。代码如下:

好,讲完了预备知识,是时候打印一个彩色的围棋局面了。

我们约定围棋局面用一个二维的 NumPy 数组来表示。黑子、白子、和空,我们分别用 Unicode 字符集中的 0x25cf、0x25cb、和 0x253c 来表示,边角也使用各自的对应符号。这个符号,我们可以在 IDLE 中直观地显示。

接下来,应用上面这些知识点,就可以写出一个打印围棋局面的函数了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210112A092RD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券