В чем заключается ошибка в моем рeшeнии?
Ввoд: двa цeлыx чиcлa 0 ≤ m ≤ n ≤ 1000; 20 цeлыx чиcел из отрезкa [0; 1000]
Вывoд: кoличество чисел, имеющих значение не меньше m, нo не бoльшe n.
import sys
array = [int(i) for i in sys.argv[3:]]
if (0 <= m and m <= n and n <= 1000):
m = int(sys.argv[1])
n = int(sys.argv[2])
a = 0
for x in range(0, 20):
if m <= int(array[x]) and int(array[x]) <= n:
a += 1
result = a
print(result)
Пpимер
Ввод: 0 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9
Вывод: 20
Где 0 - минимaльный рaзмер числа 10 - мaксимaльный рaзмер числа 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 - сами числа
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Добавил ограничение на считывание 22 элементов: m + n + <20 чисел>:
import sys
items = [int(x) for x in sys.argv[1:22+1]]
num = 0
m, n = items[:2]
for x in items[2:]:
if m <= x <= n:
num += 1
print(num)
Можно немного схитрить и сократить количество строк, сохранив читаемость:
import sys
items = [int(x) for x in sys.argv[1:22+1]]
m, n = items[:2]
num = sum(1 for x in items[2:] if m <= x <= n)
print(num)
Запуск в консоли:
python main.py 0 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9
20
Ограничение на количество нужно, т.к. хотя бы уже в примере ввода чисел 23, что больше указанного в задаче:
m n [ чисел в 21 штук ]
Ввод: 0 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9