簡體   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