Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

помогите решить плиз

Даниил Тосенко Ученик (91), на голосовании 2 года назад
Напишите программу, которая на вход получает максимальную ширину ромба и рисует его.

Подсказка: помните, максимальная ширина ромба всегда состоит из нечётного числа звёздочек

Пример входа:
5

Пример результата:
*
***
*****
***
*
Голосование за лучший ответ
Black Afgano Просветленный (22272) 4 года назад
n = int(input())

for i in range(1, n+1, 2):
~~~~print('*' * i)
for i in range(n-2, 0 ,-2):
~~~~print('*' * i)
Алиса Дубровская Знаток (284) 3 года назад
n=int(input())
for i in range(0,n+1):
for j in range(0,n-i):
print(end=" ")
for j in range(0,i):
print("*",end=" ")
print()
if i==n:
for i in range(n-1,0,-1):
for j in range(0,n-i):
print(end=" ")
for j in range(0,i):
print("*",end=" ")
print()
dfdf fefdУченик (108) 3 года назад
а не можете, пожалуйста, картинкой скинуть. не работает
Алиса ДубровскаяЗнаток (284) 3 года назад
попробуйте переписать внимательней
Мэри Аммосова Ученик (146) 3 года назад
n = int(input())

for i in range(1, n + 1, 2):
if i == 1:
print(' ' * 3, '*' * i)
elif i == 3:
print(' ' * 2, '*' * i)
else:
print(' ', '*' * i)

for i in range(n-2, 0 ,-2):
if i == 3:
print(' ' * 2, '*' * i)
else:
print(' ' * 3, '*' * i)

я сама решила, получилось =) Наверное можно и по другому
StepikПрофи (505) 3 года назад
У вас увы не получилось ( т. к. при нечётных значениях более 5 появляется сильное искажение ромба
Георгий Топорков Ученик (103) 3 года назад
n = int(input('Введите наибольшую сторону ромба '))
k = n // 2
j = 1
while j != n:
print(" " * (k-1), "*" * j, sep = " ")
j += 2
k -= 1
else:
if j == n:
print("*" * n)
j -= 2
while j != 1:
print(" " * k, "*" * j, sep = " ")
j -= 2
k += 1
else:
print(" " * k, "*" * j, sep = " ")
pass
stepby Ученик (226) 3 года назад
romb = int(input('Введите максимальную ширину ромба: '))
for i in range(1, romb + 1, 2):

print(' ' * ((romb - i)//2), '*' * i)

for i in range(romb-2, 0 ,-2):
print(' ' * ((romb - i)//2), '*' * i)

простое решение с выравниванием и для любой ширины ромба
Никита Засобин Ученик (137) 1 год назад
width = int(input())
s: int = 1
p: int
s2 = 0
for i in range(width):
if s<width:
p = int((width - s) / 2)
print(' ' * p, '*' * s, ' ' * p)
s += 2
s2=s
else:
p = int((width - s2) / 2)
print(' ' * p, '*' * s2, ' ' * p)
s2 -= 2
Похожие вопросы