Автор - Кирилл Андрощук

Исправьте код на python, он простенький, я не спец, только учусь
Вот код:
messages_count = 10
for i in reversed(range(1,10)):
print('- Анфиса, есть ли новые письма?')
print ('- Непрочитанных писем:',i)
print ('Я прочитал одно, и их осталось',i-1)
print('Я прочитал его. И нет больше писем!')
Выдаёт вот что:
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 9
Я прочитал одно, и их осталось 8
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 8
Я прочитал одно, и их осталось 7
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 7
Я прочитал одно, и их осталось 6
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 6
Я прочитал одно, и их осталось 5
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 5
Я прочитал одно, и их осталось 4
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 4
Я прочитал одно, и их осталось 3
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 3
Я прочитал одно, и их осталось 2
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 2
Я прочитал одно, и их осталось 1
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 1
Я прочитал одно, и их осталось 0
Я прочитал его. И нет больше писем!
А сайт ругается:
Вы ошиблись в выводе. У вас:
- Анфиса, есть ли новые письма?
- Непрочитанных писем: 9
Я прочитал одно, и их осталось 8
А должно быть:
- Анфиса, есть ли новые письма? - Непрочитанных писем: 10. Я прочитал одно, и их осталось 9.

Ответ

Автор - Fgdfg dfgdfg
print ('- Анфиса, есть ли новые письма? - Непрочитанных писем: ', i ,'. Я прочитал одно, их осталось: ', i-1 ,'.')
Так устроит учителя?) Ты ведь в принте можешь сколько угодно много переменных/слов использовать через запятую.

Не помню точно, но вроде как в питоне в функции range(начало, конец) конечная точка выпадает...
Т. е. достигая десятки прога останавливается и переходит дальше не используя эту десятку.
У нас же реверс, а значит цикл выполняется начиная с десятки, НО десятка то в оригинальном рейндже - последняя точка. Потому и начинает с 10-1 = 9. (дефолтный шаг в рейндже 1)

И зачем вводить переменную message_cnt, если ты потом используешь число в цикле for?
Напиши уж: for i in (range(message_count, 0)):

Ответы и объяснения

Сервис носит ознакомительный характер, вся информация, а в частности вопросы и ответы, которые задают и отвечают пользователи.
© 2026 Все права защищены Политика конфиденциальности Контакты
search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation