для прямоугольных треугольников цикла, не разделяющихся

#python #python-3.x #for-loop

#python #python-3.x #для цикла

Вопрос:

 base=int(input("Enter the triangle size: "))
for i in range(1, base   1):
    print (('*' * i)   (' ' * (base - i)))
for i in range(1, base   1)[::-1]:
    print (('*' * i)   (' ' * (base - i)))
for i in range(1, base   1):
    print (' ' * (base - i)   ('*' * i))
for i in range(1, base   1)[::-1]:
    print (' ' * (base - i)   ('*' * i))
 

Результат выглядит следующим образом:

 Enter the triangle size: 4
*   
**  
*** 
****
****
*** 
**  
*   
   *
  **
 ***
****
****
 ***
  **
   *
>>> 
 

Но мне нужно, чтобы это выглядело так:

 Enter the triangle size: 4
*   
**  
*** 
****

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

****
 ***
  **
   *
>>> 
 

Я перепробовал все, чтобы создать новую строку после каждого цикла for, но это просто привело к беспорядку. Могу ли я каким-либо образом настроить свою программу, чтобы разрешить эти пробелы? Спасибо!

Ответ №1:

Я только что добавил отпечатки между треугольниками, чтобы воспроизвести ожидаемый результат. Это то, что вы хотите?

 base=int(input("Enter the triangle size: "))
for i in range(1, base   1):
    print (('*' * i)   (' ' * (base - i)))
print()
for i in range(1, base   1)[::-1]:
    print (('*' * i)   (' ' * (base - i)))
for i in range(1, base   1):
    print (' ' * (base - i)   ('*' * i))
print()
for i in range(1, base   1)[::-1]:
    print (' ' * (base - i)   ('*' * i))
 

Вывод:

 Enter the triangle size: 4
*   
**  
*** 
****

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

****
 ***
  **
   *