В этом уроке Python я расскажу, как написать программу Python для ромбовидного узора.
- Программа на Python
- Методы
- С использованием цикла for
- С использованием цикла while
- Программа для печати
- Код для печати
Программа на 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 существует два разных метода печати ромбовидного узора с использованием звезд:
- цикла for;
- цикл 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 * *** ***** ******* ********* ******* ***** *** *
Вот скриншот следующего кода:
С использованием цикла 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 * * * * * * * * *
Программа для печати
Количество звездочек уменьшается с 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:
Примечание. Шаблон в выходном блоке отличается из-за разницы между строками между блоком кода в статье и в редакторе Pycharm.