Диапазон ввода чисел

Рейтинг: 0Ответов: 1Опубликовано: 07.10.2014

В python'e новичок. Прошу помощи. Само условие:

Вводятся два целых числа A и B. –215 < A < B < 215. Вывести сумму последовательности A, A+1, A+2, …, B-2, B-1, B.

Пример ввода: 1 3 Пример вывода: 6

Вопрос следующий: как сделать ограничение ввода чисел в диапазоне –215 < A < B < 215

Сделал велосипед, но выглядит он не кошерно. Можно ли как-то проще реализовать?

lownum = -215
highnum = 215

a = input('Input A: \n')
if a < lownum:
     print('Error. Min a = -215')
else:
    b = input('Input B: \n')
if b > highnum:
    print('Error. Max a = 215')
else:
    if a < b:
        x = sum(range(a,b+1))
        res = 'Result >> ' + str(x)
        print(res)
    else:
        print('Input Error')

Ответы

▲ 2

Питон позволяет объединять условия low < A < B < hi:

#!/usr/bin/env python3
low, hi = -215, 215
while True:
    s = input('Enter space-separated A, B '
              '({low} < A < B < {hi}): '.format_map(vars()))
    try:
        A, B = map(int, s.split())
    except ValueError:
        pass
    else:
        if low < A < B < hi:
            break
        print('Try again')
print('Result:', sum(range(a, b+1)))