Предмет: Информатика, автор: programistv

Обьясните пожалуйста в чем проблема моего кода

def square(side, symbol, peremennaya):

for i in range(side):

for j in range(side):

if peremennaya or i == 0 or j == 0 or i == side - 1 or j == side - 1:

print(symbol, end=' ')

else:

print(' ')

print()

result = square(1, 3, 4)

print(result)

Ответы

Автор ответа: falusytubejaste
1

В данном коде есть несколько проблем:

Переменная peremennaya не объявлена и не инициализирована перед вызовом функции square(), что приведет к ошибке при ее исполнении.

В функции square() есть несоответствие между использованием символа пробела и символа symbol. Вместо пробела следует использовать символ symbol в тех случаях, когда надо вывести этот символ.

Функция square() не возвращает никакое значение, поэтому ее вызов в переменную result ничего не присвоит.

В функции square() нет инструкции, которая сохраняла бы вывод функции в переменную result.

При вызове функции square() не передан параметр peremennaya.

Исправленный код может выглядеть так:

def square(side, symbol, peremennaya=False):

result = ''

for i in range(side):

for j in range(side):

if peremennaya or i == 0 or j == 0 or i == side - 1 or j == side - 1:

result += str(symbol) + ' '

else:

result += ' '

result += '\n'

return result

result = square(5, '*', True)

print(result)

В этом коде я добавил параметр peremennaya по умолчанию равный False, и инструкцию, которая сохраняет вывод функции в переменную result. Кроме того, я использовал строковый тип данных для символа symbol и добавил знак пробела после него для того, чтобы символы не налегали друг на друга

Интересные вопросы
Предмет: Қазақ тiлi, автор: barskorofey