В этом уроке Python я расскажу, как написать программу Python для ромбовидного узора.

Ромбовидный узор

Содержание

Программа на Python

Количество строк и столбцов выводится с использованием первого внешнего и внутреннего циклов for соответственно в многочисленных циклах for, используемых для печати шаблонов в Python.

Сначала мы напечатаем количество строк, используя внешний цикл, а затем напечатаем количество столбцов, используя внутренний цикл в Python. Переменная Python используется для вывода пробелов, когда это необходимо.

В этом примере мы напечатаем количество звездочек и пробелов. Давайте возьмем пример и проверим, как напечатать верхнюю половину ромба на Python.

Пример:

new_val = eval(input("Enter the upper height of diamond: "))
for i in range(new_val):
    print(" " *(new_val - i), "*" *(2*i + 1))

Вывод: Если вы посмотрите на ромб, то заметите, что в верхней части теперь есть еще 1, 3, 5 и 7 звездочек. Таким образом, количество звездочек в этой строке равно 2x+1, где x — номер строки ромба сверху вниз.

По мере продвижения вперед количество пустых мест слева должно уменьшаться на одно, чтобы компенсировать рост звездочек. В результате остаются пробелы hx. (Справа пробелов нет!)

Поэтому вам следует печатать hx пробелов и 2x+1 звездочек для каждой строки, где x — высота в диапазоне от 0 до высоты – 1.

Вот реализация следующего кода:

Enter the upper height of diamond: 5
      *
     ***
    *****
   *******
  *********

Распечатать ромбовидный узор

Методы

В Python существует два разных метода печати ромбовидного узора с использованием звезд:

  1. цикла for;
  2. цикл while.

Примечание. Шаблон в выходном блоке может отличаться из-за разницы между строками между блоком кода в статье и в редакторе Pycharm.

С использованием цикла for

  • Выберите, сколько строк и столбцов использовать. Количество строк и столбцов — это обычная структура для печати любого шаблона. Чтобы напечатать любой узор, нам необходимо использовать две петли, другими словами, мы должны использовать вложенные циклы.
  • Количество строк и количество столбцов, необходимых для печати шаблона, задаются внешним и внутренним циклами соответственно.
  • Функцию input() можно использовать для определения размера шаблона, спрашивая пользователя, сколько строк ему нужно.
  • Далее создайте внешний цикл с циклом for и методом range() для перебора количества строк.
  • Чтобы управлять количеством столбцов, создайте следующий внутренний цикл или вложенный цикл. В зависимости от значений внешнего цикла выполняется итерация внутреннего цикла.

Пример. Исходный код:

number_of_stars_USA = int(input("Enter the row's value for diamond"))   
for m in range(0,number_of_stars_USA):
    for n in range(0,number_of_stars_USA-m-1):
        print(" ",end='')
    for l in range(0,2*m+1):
        print("*",end='')
    print()
for m in range(number_of_stars_USA-1,0,-1):
    for n in range(number_of_stars_USA,m,-1):
        print(" ",end='')
    for l in range(2*m-1,0,-1):
        print("*",end='')
    print()

Выход:

Enter the row's value for diamond: 5
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

Вот скриншот следующего кода:

С использованием цикла for

С использованием цикла while

Для выполнения этой конкретной задачи мы собираемся использовать концепцию цикла while и определить функцию, и внутри этой функции мы передаем число в качестве аргумента.

В этой программе Python изначально считывается строка пользователя. Количество рядов в этом треугольнике ромба указано рядом. Учитывая значение строки 6, общее количество строк шаблона будет 10.

Пример. Здесь мы возьмем пример и проверим, как печатать ромбовидные узоры, используя цикл while.

def pattern(number_of_values):
   
   m = 1
   while m=1:
      print(" "*(number_of_values-m) + "* " * m)
      m-=1
number_of_values = int(input('Enter the number of rows: '))

pattern(number_of_values)

Вот выполнение следующей программы Python для ромбовидного узора:

Enter the number of rows: 3
  * 
 * * 
* * * 
 * * 
  *

С использованием цикла while

Программа для печати

Количество звездочек уменьшается с 7, 5, 3 и 1 в нижней части. Другими словами, если x — это номер строки ромба, начиная с середины ромба, то 2x+1 — это количество звездочек в этой строке.

Чем дальше спускаемся, тем меньше звездочек, следовательно, тем больше должно быть пустых мест слева, которые должны увеличиться на единицу. Следовательно, всего имеется hx пробелов.

Чтобы напечатать пробелы hx и звездочки 2x+1 для каждой строки, где x — высота между высотами 2 и 0, см. пример ниже.

Пример:

new_val = eval(input("Enter the lower height of diamond: "))
for i in range(new_val - 2, -1, -1):
    print(" " *(new_val - i), "*" *(2*i + 1))

Выход:

Enter the lower height of diamond: 5
   *******
    *****
     ***
      *

Вы можете обратиться к приведенному ниже снимку экрана программы Python для ромбовидного узора:

Программа для печати 

Код для печати

Сначала мы напечатаем количество строк, используя внешний цикл, а затем напечатаем количество столбцов, используя внутренний цикл. Переменная Python используется для вывода пробелов, когда это необходимо.

Вот шаги, которые мы собираемся выполнить в нашем примере:

  • Введите количество рядов, необходимое для создания узора в форме ромба, затем используйте цикл for с диапазоном(n).
  • Используйте второй цикл for в следующем диапазоне: 1, int((n/2))-i+3. и используйте оператор Print(«sep», «end»). Конец цикла(3), а затем используйте диапазон(1,i+2) для цикла.
  • печать «*», «end=» Конец цикла(6), и пробел печатается после завершения цикла(2).
  • Мы используем цикл с диапазоном для нижней части ромба(n), а затем используем второй цикл for с диапазоном(1,5-(int((n/2))-i+3)+2). Print(«сентябрь», «конец»).
  • Используйте цикл for с диапазоном(1,5-i) и напечатайте(«*», end=» «) после пробела, напечатайте конец цикла(10).

Пример:

new_val=int(input("enter the value for row's"))

for m in range(new_val):

    for n in range(1,int((new_val/2))-m+3):

        print(sep=" ",end=" ")

    for l in range(1,m+2):

        print("^", end=" ")

    print()

for m in range(new_val):

    for n in range(1,5-(int((new_val/2))-m+3)+2):

        print(sep=" ",end=" ")

    for l in range(1,5-m):

        print("^", end=" ")

    print()

Вот реализация следующей программы для ромбовидного узора:


Программа для создания ромба

  • Мы будем использовать два внешних цикла: один для верхнего треугольника, другой для нижнего треугольника, а также вложенные циклы для печати ромбовидного узора в Python.
  • В этом методе свойство string будет использоваться для повторения указанного числа, включая символ умножения.

Пример:

number = 8

for n in range(number-1):
  print((number-n) * ' ' +(2*n+1) * '@')

for n in range(number-1, -1, -1):
  print((number-n) * ' ' +(2*n+1) * '@')

В следующем коде сначала мы объявляем переменную и присваиваем ей целое число. Затем мы использовали метод цикла for, повторили цикл for и установили условие(2*n+1).

Выход:

     @
    @@@
   @@@@@
  @@@@@@@
 @@@@@@@@@
  @@@@@@@
   @@@@@
    @@@
     @

Вот снимок экрана следующего кода Python:

Числовой ромбовидный узор в Python

Примечание. Шаблон в выходном блоке отличается из-за разницы между строками между блоком кода в статье и в редакторе Pycharm.

Добавить комментарий