Не лишу себя удовольствия показать еще одно очень красивое и очень странное решение через словари.
n = int(input())
print({1<=n<=4: "Начальная школа",
5<=n<=9: "Среднее звено",
10<=n<=11: "Старшее звено"}[True])
Здесь мы создаем неименованный словарь, который в качестве ключа использует условное выражение, а в качестве значения - соответствующую этому выражению строку.
Когда мы тут же передаем ему в качестве ключа True, словарь начнет проверять ключи и вернет именно то значение, у которого выражение-ключ было истинным.
В общую длину пути будет входить длина дороги AC = 10
Длина пути напрямую из C в F (CF) = 8.
Нам нужно проверить, если ли смысл ехать в другой нас. пункт из C, чтоб сократить общий путь.
Варианты, где расстояние из C в другой нас. пункт больше или равно CF отбрасываем. У нас остаются:
CB = 6CD = 2CE = 5Теперь проверим, из какого из этих пунктов расстояние в F не превышает расстояние CF - 8.
BF = 1DF = 4EF = 0Подсчитаем общий размер пути, который нужно преодолеть с самого начала и найдем наименьший
ACF = 10 + 8 = 18ACBF = 10 + 6 + 1 = 17ACDF = 10 + 2 + 4 = 16ACEF = 10 + 5 + 0 = 15Длина кратчайшего пути между пунктами А и F, проходящая через пункт С = 15 (ACEF).
б) 18, 12, 3, 29, 45, 28; лишнее 3, так как оно однозначное
в) 10, 20, 30, 36, 40, 50; лишнее 36, т.к. остальные заканчиваются на 0
г) 72, 62, 52, 45, 32, 82; лишнее 45, т.к. остальные заканчиваются на 2
д) 24, 29, 22, 37, 25, 28; лишнее 39, т.к. остальные начинаются с 2
е) 1, 2, 3 , 5, 6, 7. лишнее 5, т.к. все остальные ровно на единицу больше предыдущих