Информатика, вопрос задал Аноним , 2 года назад

ЯЗЫК 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

Ответы на вопрос

Ответил maxum000
1

"вещественные числа 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)

Ответил NaaMan
1

Ответ:

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)

Результат:

Приложения:
Новые вопросы