• Исправьте код на 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.

Ответы 1

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

      beau88
    • 4 года назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years