Шаблон печати по горизонтали на Python

#python #logic

Вопрос:

Поэтому я должен напечатать * в форме А, что я и сделал.

 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="")
 

выход:

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

Но я хочу печатать больше по горизонтали.
Пример: L отображается как звездная программа 3 раза выглядит так, как показано ниже

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

Пожалуйста, помогите!

Ответ №1:

Я не сильно изменил ваш код, но подумал, что его включение в функцию может быть полезным. Как вы можете видеть в последней строке, теперь вам просто нужно назвать его с количеством букв, которые вы хотите напечатать. Кроме того, я добавил цикл for между вашими, чтобы поместить все необходимые символы в соответствующую строку. Наконец, я добавил элемент if/else, который проверяет, что это конец строки, и в противном случае не переходит в следующую строку.

 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))
 

Ответ №2:

Самый простой способ-использовать библиотеку, подобную pyfiglet : https://pypi.org/project/pyfiglet/ .

Если вы хотите сделать это самостоятельно, консоль python пишет в строке, вы должны печатать свой текст (например,»AAA») строка за строкой. если ваша конечная цель именно в этом, то:

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

сделает свою работу.

Если ваша цель-написать какой-либо текст, то, вероятно, лучше создать какой-то «шрифт» для каждой буквы в списке.