что значит ошибка TabError : inconsistent use of tabs and spaces in indentation?
def spisok_player(first_name, last_name, middle_name =' '):
if middle_name:
full_name = first_name + ' ' + middle_name + ' ' + last_name
else:
full_name = first_name + last_name
return full_name.title()
user = spisok_player('adam', 'colins')
user = spisok_player('john', 'hooker', 'less')
print(user)
Начинающий программист не понимаю где ошибка... высвечивается
full_name = first_name + ' ' + middle_name + ' ' + last_name
^
TabError: inconsistent use of tabs and spaces in indentation
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Надо верно расставить табуляции/пробелы, вот так:
def spisok_player(first_name, last_name, middle_name = None):
if middle_name:
full_name = first_name + ' ' + middle_name + ' ' + last_name
else:
full_name = first_name + ' ' + last_name
return full_name.title()
user = spisok_player('adam', 'colins')
print(user)
user = spisok_player('john', 'hooker', 'less')
print(user)
Вывод:
Adam Colins
John Less Hooker
И обратите внимание, что в строке с return у вас была лишняя табуляция. Интерпретатор при этом не ругается, но при срабатывании if ... : функция возвращает None из-за того, что не срабатывает return.
Я ещё некоторые правки внёс в ваш код - параметр по умолчанию лучше передавать None, например.
А вообще эту функцию можно записать в одну строку, используя тернарный оператор if:
def spisok_player(first_name, last_name, middle_name = None):
return (first_name + ' ' + ((middle_name + ' ') if middle_name else '') + last_name).title()