print ('- Анфиса, есть ли новые письма? - Непрочитанных писем: ', i ,'. Я прочитал одно, их осталось: ', i-1 ,'.') Так устроит учителя?) Ты ведь в принте можешь сколько угодно много переменных/слов использовать через запятую.Не помню точно, но вроде как в питоне в функции range(начало, конец) конечная точка выпадает...Т. е. достигая десятки прога останавливается и переходит дальше не используя эту десятку.У нас же реверс, а значит цикл выполняется начиная с десятки, НО десятка то в оригинальном рейндже - последняя точка. Потому и начинает с 10-1 = 9. (дефолтный шаг в рейндже 1)И зачем вводить переменную message_cnt, если ты потом используешь число в цикле for?Напиши уж: for i in (range(message_count, 0)):