繁体   English   中英

在 Python 中水平打印图案

[英]Printing Pattern Horizontally in Python

所以我必须以我所做的 A 的形状打印 *。

pattern = ""
for row in range(7):
      for col in range(5):
            if ((col==0 or col==4) and row!=0) or ((row==0 or row==3) and (col>0 and col<4)):
                  pattern = pattern + "*"
            else:
                  pattern = pattern + " " 
      pattern = pattern + "\n"
pattern = pattern + " "

print(pattern, end="")

OUTPUT:

 *** 
*   *
*   *
*****
*   *
*   *
*   *

但我想水平打印更多 A。 示例:L 显示为星形程序 3 次如下所示

*        *        *
*        *        *
* * *    * * *    * * *

请帮忙!

我没有对您的代码进行太多更改,但认为将其放入 function 可能会有用。 正如您在最后一行中看到的,您现在只需使用要打印的字母数来调用它。 此外,我在你的中间添加了一个 for 循环,以便将所有必需的符号放入相应的行中。 最后,我添加了一个 if/else 语句来检查这是行的末尾,否则不会 go 进入下一行。

def multiplePatterns(n):
    pattern = ""
    for row in range(7):
        for i in range(n):
            for col in range(5):
                if ((col==0 or col==4) and row!=0) or ((row==0 or row==3) and (col>0 and col<4)):
                      pattern = pattern + "*"
                else:
                      pattern = pattern + " " 
            if i == n-1:
                pattern = pattern + "\n"
            else:
                pattern += "  "
    pattern = pattern + " "
    return pattern

print(multiplePatterns(2))

最简单的方法是使用像 pyfiglet 这样的库: https://pypi.org/project/pyfiglet/

如果你想自己做,python 控制台每行写入,你必须每行打印你的文本(例如:“AAA”)行。 如果您的最终目标就是这样,那么:

print(" ***      ***      ***")
print("*   *    *   *    *   *")
print("*   *    *   *    *   *")
print("*****    *****    *****")
print("*   *    *   *    *   *")
print("*   *    *   *    *   *")
print("*   *    *   *    *   *")

将完成这项工作。

如果您的目标是编写任何文本,那么最好为列表中的每个字母创建某种“字体”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM