ЯЗЫК PYTHON
Даны натуральное число n и вещественные числа b1, b2, ..., bn. Определите сумму тех вещественных чисел, которые больше заданного p
.
Формат входных данных
Вводятся целое число n
(1≤n≤1000), вещественные числа p, b1, ..., bn, которые не превосходят по модулю 105
, заданы с двумя знаками после запятой.
Формат выходных данных
Требуется вывести искомую сумму
входные данные выходные данные
5
2.44
1.66
-1.66
66.72
123.45
-66.13
190.170000
Ответы на вопрос
"вещественные числа p, b1, ..., bn, которые не превосходят по модулю 105" - К чему это условие? Если это условие включить в код, то вещественное число, такое как 123.45 уже больше модуля 105, а значит либо этого условия нету, раз уж у тебя в примере 123.45 включается в сумму, которая больше p, либо нет условия с модулем.
Я закомментировал условие проверки числа на с модулем 105 и программа работает так, как описано в примере.
Если захочешь добавить условие с модулем, то убери # и поставь табуляцию(несколько пробелов) перед s.append(k)
n = int(input())
while not 1<=n<=1000: #Ввод n, если не входит в диапазон, то ждет ввода снова
n = int(input())
s = []
p = float(input())
for i in range(n):
k = float(input())
# if k < abs(105):
s.append(k)
sum = 0
for i in s:
if i > p:
sum += i
print(sum)
Ответ:
n, p = int(input('n = ')), float(input('p = '))
print(sum(filter(lambda x: x > p, [float(input()) for i in range(n)])))
Объяснение:
В первой строке запрашивается целое n и вещественное р
Во второй строке печатается (print) сумма (sum) чисел отобранных (filter) по условию (x>p), числа х запрашиваются (input) в цикле (for)
Результат:
