Во-первых, для таких данных лучше подойдёт список списков, в котором индекс обозначает номер зала или номер места, а занятость места отображается логическим типом:
[
[ # Первый зал
True, # Первое место (занято)
False, # Второе место (не занято)
False,
True,
...
],
[ ... ], # Второй зал
]
Во-вторых, элемент словаря удаляется оператором del: del some_dict['some_key']
Во-первых, надо понять, что без опыта очень тяжело устраиваться, а попасть на стажировку - редкая удача, особенно в enterprise. Многие убили бы за возможность попасть на ваше место. Не разбрасывайтесь возможностями. Во-вторых, работа отличается от учёбы, в офисе никогда не будет рядом преподавателей стремящихся вас научить. Люди, которые могли бы, завалены своими делами. Придётся суетиться самому. В-третьих, не стоит ждать волшебного взлёта профессионального уровня. В среднем чтобы дорасти до разработчика (перестать быть джуном) нужно около трёх лет. Наконец, по неопытности можно не видеть возможности для обучения, находящиеся прямо под носом. Это напоминает дзенские притчи, в которых мастер годами лупит ученика по голове бамбуковой палкой, а ученик удивляется, почему его не учат.
Обычно люди так и обучаются - читают учебник, делают пет-проект. Если ограничиваться профессиональных ростом только в рамках рабочих задач, то рост быстро остановится и появится неприятная привязанность или к относительно узкому сегменту рынка или вообще к одному работодателю.
Ну, не любой, видимо, вы же не понимаете. Переведём для ясности инструкцию while на русский язык, получится "пока a == 5". Но a равно 1, а значит не равна 5. То есть блок внутри while никогда не выполнится. Базовая логика, язык тут вообще не при чём.