python-3.x - 反向列表不适用于我的模式?
问题描述
我需要做一个这样的模式:
---------.|.---------
------.|..|..|.------
---.|..|..|..|..|.---
-------WELCOME-------
---.|..|..|..|..|.---
------.|..|..|.------
---------.|.---------
问题是我无法反转与刚刚反转的第一部分相同的第二部分。
这是我的代码:
for i in range(n // 2):
pattern = [('.|.' * (2 * i + 1)).center(m, '-')]
print('\n'.join(pattern))
print('WELCOME'.center(m, '-'))
for i in range(n // 2):
pattern = [('.|.' * (2 * i + 1)).center(m, '-')]
print('\n'.join(pattern[::-1]))
pattern[::-1]
应该是相反的。
解决方案
反向列表不适用于我的模式?
您的pattern
列表只有一个元素,因此列表的反面将是同一个列表
要在镜像中打印输出的第二部分,您必须从最后一行(与第一部分一样)打印到第一行:
n = 10
m = 10
base_str = '.|.'
for i in range(n // 2):
pattern = (base_str * (2 * i + 1)).center(m * len(base_str), '-')
print(pattern)
print('WELCOME'.center(m * len(base_str), '-'))
for i in range(n // 2 - 1, -1, -1):
pattern = (base_str * (2 * i + 1)).center(m * len(base_str), '-')
print(pattern)
输出:
-------------.|.--------------
----------.|..|..|.-----------
-------.|..|..|..|..|.--------
----.|..|..|..|..|..|..|.-----
-.|..|..|..|..|..|..|..|..|.--
-----------WELCOME------------
-.|..|..|..|..|..|..|..|..|.--
----.|..|..|..|..|..|..|.-----
-------.|..|..|..|..|.--------
----------.|..|..|.-----------
-------------.|.--------------
推荐阅读
- c# - 将 DataTable 中的 2 列与 List 中的 2 列进行比较,并根据特定条件构建一个新 List
- python - 为什么我不能为 Python 安装电子邮件
- python - Python:如何组合多个 if else 语句
- arrays - jq - 在 JSON 对象中查找数组的名称,然后获取数组的内容
- redirect - OAuth 重定向 URL 验证
- flutter - 在自定义创建的形状中对齐文本:颤振
- python - 使用多处理时在 python 中登录到标准输出是否安全?
- c# - c# Telerik 中的 RadCloudUpload 大小验证失败问题
- java - 应用程序在启动时崩溃,就在我从 Play 商店下载之后
- python - 向kivy屏幕添加功能