На вход подаются натуральные числа нужно через цикл

Inna19811981

Новичок
Пользователь
Дек 16, 2023
1
0
1
На вход подаются целочисленные границы промежутка (сначала левая, потом правая, каждая на отдельной строке). А дальше будет считывать целые числа со стандартного ввода пока не встретит пустую строку, которая будет означать конец ввода. Нужно будет проверить входят ли все введенные числа в промежуток, проверка включает в себя границы промежутка. Ввод: 1, 10, 1, 2, 3, 4, Вывод: True. Ввод: 1, 10, 1,2,3,20. Вывод: False. python 3.11.
Python:
a = int(input())
b = int(input())
for i in range(a, b):
    c = int(input())
    if not c:
        break
    elif a <= c <= b:
      print ('True')
else:
  print('False')
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
374
108
43
Python:
a = int(input())
b = int(input())
arr = []

while c := input():
    arr.append(int(c))

for i in arr:
    if i not in range(a, b + 1):
        print(False)
        break
else:
    print(True)

или более навороченный способ)

Python:
a = int(input())
b = int(input())
arr = []

while c := input():
    arr.append(int(c))

print(True if all(map(lambda x: x in range(a, b + 1), arr)) else False)
 
  • Мне нравится
Реакции: Vershitel_sudeb и Student

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Или так
Python:
a = int(input())
b = int(input())
arr = []

while c := input():
    arr.append(int(c))

print(all([a <= i <= b for i in arr]))

Или еще проще так
Python:
a = int(input())
b = int(input())
arr = []

while c := input():
    arr.append(int(c))

print(a <= min(arr) and b >= max(arr))

Ну или вообще без сохранения чисел
Python:
a = int(input())
b = int(input())
flag = True
while c := input():
    flag = flag and (a <= int(c) <= b)

print(flag)
 
  • Мне нравится
Реакции: 4olshoy_blen

Форум IT Специалистов