Александр
1. Как уже говорили в одном из ответов Вам надо дать отличные названия и убрать комментарии. Есть такое правило, если есть кусок кода, который хочется прокомментировать, то стоит этот кусок выделить в отдельную функцию и дать ей хорошее названии
2. Функции нужно стремиться оформлять так чтоб они меньше побочных эффектов производили. Должна одна что-то спрашивать у юзера и выводить ему результат, а другие должны для нее выполнять вычислительную работу. У Вас же raw_input в одном месте, print в другом. Не зачем так писать.
3. Не обязательно в маленькой функции писать обработчик исключений. Вынесите это в высокоуровневый код.
Приведу аналогию с начальник-подчиненный. Начальник дает задачу , подчиненный берет ее и убеждается что понял ее, если что спрашивает уточняющие или сразу говорит "не могу выполнить, не хватает ...". Когда же он что-то делает, он не парится а хорошо ли плохо. Зато если вдруг что-то серьезное произошло, то он не парится на тему, а как бы это исправить, а просто уведомляет "Иван Иваныч, подшипники надо истерлись, надо бы купить новые" и это проблема начальника обратиться в другой отдел. От подчиненного все что было нужно уже имеется!