В Python (и многих других языках), начиная с числа , ведущий "0" обозначает восьмеричное число (основание 8). Использование этой записи с начальным нулем называется восьмеричным литералом . Восьмеричные числа идут 0, 1, 2, 3, 4, 5, 6, 7, 10, 11 и т. Д. Поэтому 08 (в восьмеричном) недействительно .
Если вы удалите начальные нули, ваш код будет в порядке:
some_dict =
{
1: "spam",
2: "eggs",
3: "foo",
4: "bar",
8: "anything",
9: "nothing"
}