Написать узор с помощью python - Общение Python мододелов
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Написать узор с помощью python

Регистрация
19 Ноя 2012
Сообщения
75
Репутация
0
Спасибо
1
Монет
0
11685025_32eac88f3afae7489a96cf2cffb5b703_800.jpg

Не могу понять как это сделать, объясните пожалуйста.

Думал что вот уже понял циклы) а тут, что-то не доходит.



Есть понимание что тут внешний цикл и есть внутренний, внешний цикл делает пусть будет 8 итераций, и на каждую эту итерацию, внутренний цикл будет делать внутренние итерации какое-то кол-во раз.



Если не сложно объясните логику, сам уже часок мучаюсь)

Ради интереса посмотрел в интернете, там делают какие-то треугольники и ромбы, и там какие-то умножения даже есть в коде, это я так понимаю, что-то типа кол-во пробелов умножить там на какой-то знак типа, и выходит такой вот внешний вид



for z in range(8):

print('#')

for x in range(z):

print(' ', end='')

print(' #') или вот так for z in range(8):

for x in range(z):

print(' ', end='')

print('#')
 
Регистрация
10 Июл 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
Первый шаблон

for z in range(8):
print('#')
for x in range(z):
print(' ', end='')
print(' #')

И второй шаблон
for z in range(8):
for x in range(z):
print(' ', end='')
print('#')

Коллега написал что должно работать
 
Регистрация
19 Сен 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
for i in range(5):
for j in range(i):
print("*", end="")
print()

for i in range(5, 0, -1):
for j in range(i):
print("*", end="")
print()

В этом коде первый цикл for отвечает за рисование первой половины узора (верхней части), а второй цикл for - за рисование второй половины узора (нижней части). Внутри каждого цикла используется вложенный цикл for, который отвечает за вывод нужного количества звездочек на каждой строке. Оператор print() используется для перехода на новую строку после каждой итерации внутреннего цикла.
 
Регистрация
9 Ноя 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
Сейчас накидают разные варианты, я же объясню логику.

Внешний цикл будет проходить по строкам, то есть количество итераций должно равняться числу строк.

Внутри цикла надо напечатать #, потом внутренний цикл должен отсчитать и напечатать требуемое число пробелов (которое, конечно же, зависит от текущей строки), и в завершение напечатать еще #.
 
Сверху Снизу