Объясните в чем проблема следующего кода
3. 3.Напишите функцию, которая отображает пустой или
заполненный квадрат из некоторого символа. Функция
принимает в качестве параметров: длину стороны квадрата, символ и переменную логического типа:
■ если она равна True, квадрат заполненный;
■ если False, квадрат пустой.
def square(side, symbol, filled):
for i in range(side):
for j in range(side):
if filled or i == 0 or j == 0 or i == side - 1 or j == side - 1:
print(symbol, end=' ')
else:
print(' ', end=' ')
result = square(1, 3, 5)
print(result)
Answers & Comments
Ответ:
У цьому коді є декілька проблем:
Функція "квадрат" не повертає жодного значення, тому змінний "результат", який зберігає результат виклику функції, буде рівним "Немає".
У рядку "результат = квадрат (1, 3, 5)" передаються некоректні аргументи. Відповідно до опису функцій, перший аргумент має бути довжиною сторони квадрата, але передано значення "1", що робить квадрат несуттєво маленьким. Також другий аргумент повинен бути символом, а не числом, тому потрібно передати символ, наприклад, 'X'. Третій аргумент - логічне значення, має бути або True, або False.
Виправлений код може виглядати так:
пітон
Скопіюйте код
def square(side, symbol, filled):
for i in range(side):
for j in range(side):
if filled or i == 0 or j == 0 or i == side - 1 or j == side - 1:
print(symbol, end=' ')
else:
print(' ', end=' ')
print()
return
result = square(5, 'X', True)
print(result)
Тут функція "квадрат" виводить квадрат заданого розміру із заданим символом. Перемінна "заповнена" визначає, заповнений квадрат або немає. У функції додана команда "print()" для переходу на новий рядок після кожного виведення рядка квадрата. У конце коду викликається функція "квадрат" з правильними аргументами, щоб вивести заповнений квадрат із символів 'X' розміром 5x5.