Напишите программу, которая запрашивает у пользователя сторону квадрата и символ, а затем рисует этот символ по диагоналям квадрата. Гарантируется, что входное число всегда нечётное.
Формат ввода:
5
#
Формат вывода:
# #
# #
#
# #
# #
Рекомендации к выполнению задания: внимательно изучите рисунок из примера, попробуйте заметить закономерность, по которой он строится.
s = int(input())
char = str(input())
if s % 2 == 1:
for i in range(1, s, 2):
i = ' ' * (i-2) + char + ' ' * (s - (i + 0)) + char + ' ' * (s - (i + 0))
print(i)
for i in range(s, -1, -2):
i = ' ' * (i-2) + char + ' ' * (s - (i + 0)) + char + ' ' * (i - 2)
print(i)
s = int(input())
char = str(input())
if s % 2 == 1:
for i in range(1, s, 2):
i = ' ' * (i-2) + char + ' ' * (s - (i + 0)) + char + ' ' * (s - (i + 0))
print(i)
for i in range(s, -1, -2):
i = ' ' * (i-2) + char + ' ' * (s - (i + 0)) + char + ' ' * (i - 2)
print(i)
5
#
# #
# #
##
# #
# #
Python
Где ошибка в коде?
В принципе, все правильно, если идти по такому алгоритму... Чуть исправил "кривизну" в центре...
s = int(input())
char = str(input())
if s % 2 == 1:
~~for i in range(1, s, 2):
~~~~i = ' ' * (i-2) + char + ' ' * (s - (i + 0)) + char + ' ' * (s - (i + 0))
~~~~print(i)
~~print(' '*(len(str(int(s)//2))+1)+char) #центральный символ
~~for i in range(s-2, -1, -2):
~~~~i = ' ' * (i-2) + char + ' ' * (s - (i + 0)) + char + ' ' * (i - 2)
~~~~print(i)
s = int(input())
char = str(input())
if s % 2 == 1:
~~for i in range(1, s, 2):
~~~~i = ' ' * (i-2) + char + ' ' * (s - (i + 0)) + char + ' ' * (s - (i + 0))
~~~~print(i)
~~print(' '*(len(str(int(s)//2))+1)+char) #центральный символ
~~for i in range(s-2, -1, -2):
~~~~i = ' ' * (i-2) + char + ' ' * (s - (i + 0)) + char + ' ' * (i - 2)
~~~~print(i)
Игорь Бережной
спасибо вам большое
Всё можно сделать намного проще:
n, ch = int(input()), input()
m = (n - 1) // 2
for i in range(0, n):
~~if i == m: print(' ' * i, ch, sep='')
~~else: print(' ' * (m - abs(m - i)), ch, ' ' * (abs(m - i) * 2 - 1), ch, sep='')
n, ch = int(input()), input()
m = (n - 1) // 2
for i in range(0, n):
~~if i == m: print(' ' * i, ch, sep='')
~~else: print(' ' * (m - abs(m - i)), ch, ' ' * (abs(m - i) * 2 - 1), ch, sep='')
width = int(input())
s: int = 0
p: int
s2 = 0
p = width
for i in range(width):
if s<((width-1)/2):
p -= 2
print(' ' * s,'#', ' ' * p,'#',' ' * s)
s += 1
elif ((width - 1) / 2) == s:
s += 1
print(' ' * s, '#', ' ' * s)
s2=s-1
else:
s2 -= 1
print(' ' * s2,'#', ' ' * p,'#',' ' * s2)
p += 2
s: int = 0
p: int
s2 = 0
p = width
for i in range(width):
if s<((width-1)/2):
p -= 2
print(' ' * s,'#', ' ' * p,'#',' ' * s)
s += 1
elif ((width - 1) / 2) == s:
s += 1
print(' ' * s, '#', ' ' * s)
s2=s-1
else:
s2 -= 1
print(' ' * s2,'#', ' ' * p,'#',' ' * s2)
p += 2
Похожие вопросы
- Где ошибка в коде? (Python)
- Ошибка в коде стандарт PEP8 Python
- Ошибка в коде python discord.py
- ПОМОГИТЕ НАЙТИ ОШИБКУ В КОДЕ (выводит наибольшее и наименьшее а среднее нет)
- Discord.py ошибка в коде
- Ошибка в коде на Python
- Ошибка в коде
- Сижу уже час, не пойму где ошибка в коде. Задача с acmp.ru
- Помогите исправить ошибку в коде. Python
- Помогите пожалуйста найти ошибку в коде, третий день голову ломаю