Форум сайта python.su
Задача:
Нужно написать программу, которая будет считывать со стандартного ввода целочисленные границы промежутка (сначала левая, потом правая, каждая на отдельной строке). А дальше будет считывать целые числа со стандартного ввода пока не встретит пустую строку, которая будет означать конец ввода. Нужно будет проверить входят ли все введенные числа в промежуток, проверка включает в себя границы промежутка.
Написал так:
data1 = input()
data2 = input()
data3 = input()
while data3 !=“”:
if int(data1) <= int(data3) <= int(data2):
print (“True”)
else:
print (“False”)
data3 = input()
При работе программы
1 - ввод начала интервала
10 - ввод конца интервала
2 - ввод любого числа
True - попал в интервал
3 - ввод любого числа
True - попал в интервал
4 - ввод любого числа
True - попал в интервал
11 - ввод любого числа
False - не попал в интервал
Но по условию надо вводить несколько цифр до ввода пустой строки и только после проверять попадание в интервал.
Т.е. должно быть так
1 - ввод начала интервала
10 - ввод конца интервала
2 - ввод любого числа
3 - ввод любого числа
4 - ввод любого числа
11 - ввод любого числа
False - одно число не в интервале или True - если не вводить 11.
Офлайн
dip_start = int(input("Insert start range value: ")) dip_end = int(input("Insert end range value: ")) cycle = True while cycle: val = input("Insert value(blank for exit)") if val: try: if dip_start <= int(val) <= dip_end: print(f"The {val} in range {dip_start}-{dip_end}") else: print(f"The {val} OUT of range {dip_start}-{dip_end}") except ValueError: print("The value must be only int") else: print("goodby") cycle = False
Insert start range value: 5 Insert end range value: 10 Insert value(blank for exit)5 The 5 in range 5-10 Insert value(blank for exit)8 The 8 in range 5-10 Insert value(blank for exit)1 The 1 OUT of range 5-10 Insert value(blank for exit)11 The 11 OUT of range 5-10 Insert value(blank for exit)sdf The value must be only int Insert value(blank for exit) goodby
Офлайн
Спасибо, но тут как и у меня вывод попадания в интервал после каждого ввода. А нужно давать ввести несколько значений и после проверить их все на попадание в интервал и дать один ответ True или False.
Например:
1
10
1
2
3
4
и после пустой строки один ответ True, т.к. 1,2,3,4 в интервале 1-10
или для
1
10
1
2
3
20
и после пустой строки один ответ False, т.к. 20 не в интервале 1-10
Офлайн
Так а в чем проблема то?
Добавь список и сделай проверку по нему после ввода
Я же специально расписал тебе каждую строку что бы ход выполнения был понятен
dip_start = int(input("Insert start range value: ")) dip_end = int(input("Insert end range value: ")) cycle = True numbers = [] while cycle: val = input("Insert value(blank for exit)") if val: try: numbers.append(int(val)) except ValueError: print("The value must be only int") else: cycle = False result = True for number in numbers: if not dip_start <= number <= dip_end: result = False print(result)
Офлайн