Ситуация: мы пишем программу для обработки списка сотрудников, чтобы эйчарам было проще работать. Один из фрагментов кода должен выводить имена и возраст сотрудников и точно писать имя с большой буквы независимо от того, как оно записано в базе. Звучит просто, код тоже получился несложный:
# список сотрудников
employees = {"Аня" 30,
"женя": 28}
# перебираем список и выводим по очереди для каждого имя и возраст
for name, age in employees.items():
print(f"{name.capitalize()} — {age} лет.")
Но при запуске этого кода мы получаем ошибку:
❌ SyntaxError: invalid syntax. Perhaps you forgot a comma?
Что это значит: Python не разобрался в синтаксисе нашего кода и не понял, как ему работать с тем, что мы написали. Но интерпретатор предположил, что мы что-то пропустили в этом месте, например запятую.
Что делать с ошибкой SyntaxError: invalid syntax. Perhaps you forgot a comma?
Когда возникает такая ошибка, то почти всегда это означает, что мы пропустили какой-то знак при объявлении переменной или во время работы с ней. Python точно не знает, что именно мы пропустили, поэтому разработчики в текст ошибки добавили запятую — её пропускают чаще всего.
Также Python сразу показывает, где именно ошибка, чтобы программисту было проще разобраться, что же там не так и что он мог пропустить:
В нашем случае мы пропустили не запятую, а двоеточие. Дело в том, что переменную employees
мы используем как словарь, а в словарях есть чёткий синтаксис — ключ: значение. Это значит, что между двумя этими частями ставится двоеточие, и если этого не сделать, то будет ошибка.
Чтобы исправить ошибку SyntaxError: invalid syntax. Perhaps you forgot a comma? в нашем случае нужно поставить недостающее двоеточие в первой паре словаря:
# список сотрудников
employees = {"Аня": 30,
"женя": 28}
# перебираем список и выводим по очереди для каждого имя и возраст
for name, age in employees.items():
print(f"{name.capitalize()} — {age} лет.")
Если хотите лучше разобраться в словарях, кортежах и других структурах данных в Python, почитайте наши статьи — там мы подробно разбираем всё на примерах с кодом:
А с какой ошибкой в Python вы сталкиваетесь чаще всего? Поделитесь в комментариях.