Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Сумма Задача №2
1
  1  Толстенкова Елена Александровна, 15 февраля 2021 г. 19:39:30
      короче, := это оператор выражения присваивания (expression; обычный = это statement).
это говно позволяет нам где-то посреди всей херотени вкинуть expression который заполнит нам переменную данными
но надо думать о том что делаешь

тут это "тернарный оператор"
expression_on_true if condition else expression_on_false

может показаться что правильно сделать
n := int(input()) if n <= 0 else 1
но на самом деле в первую очередь-то обрабатывается condition, и если сделать так то мы сравним None (аналог NULL) с нулём потому что переменная-то пустая
поэтому надо делать := в condition
  2  Толстенкова Елена Александровна, 15 февраля 2021 г. 19:32:32
      Решение

n = int(input())
start = n if n < 0 else 0
stop = 2 if n < 0 else n + 1
print(sum(range(start, stop))) if n != 0 else print(1)
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru