Объясните пожалуйста почему мой код ничего не выводит мне
Напишите функцию, которая отображает пустой или
заполненный квадрат из некоторого символа. Функция
принимает в качестве параметров: длину стороны квадрата, символ и переменную логического типа:
■ если она равна True, квадрат заполненный;
■ если False, квадрат пустой.
def square(dlina, symbol, peremennaya = True ):
line = symbol * dlina
if peremennaya:
for _ in range(symbol):
print(line)
for _ in range(symbol - 2):
print(dlina + '' * (symbol - 2) + dlina)
print(line)
square('-', 4, False)
Answers & Comments
Ответ:
Проблема в вашем коде заключается в том, что в вызове функции вы передаете аргументы в неправильном порядке. При объявлении функции первый параметр - это длина стороны квадрата, а в вызове функции вы передаете строку '-' в качестве первого аргумента, а число 4 - в качестве второго аргумента. Кроме того, в функции вы используете переменную 'symbol', которая должна быть длиной стороны квадрата, в качестве количества строк и количества итераций в цикле, а это неправильно.
Объяснение:
Исправленный код: def square(dlina, symbol, peremennaya=True):
line = symbol * dlina
if peremennaya:
for _ in range(dlina):
print(line)
else:
print(line)
for _ in range(dlina - 2):
print(dlina + ' ' * (symbol - 2) + dlina)
print(line)
square(4, '-', False)