Мне нужно найти среднее число последовательных элементов из списка. Сначала мне дается длина списка,
, затем список с числами,
, затем мне дается, сколько тестов мне нужно выполнить (несколько строк с входами),
, затем Мне дано несколько входных данных для выполнения тестов (и мне нужно напечатать столько строк с результатами)
каждая строка для теста состоит из начального и конечного элементов в списке.
My algorithm:
nu = int(input()) # At first I am given lenght of list
numbers = input().split() # then list with numbers
num = input() # number of rows with inputs
k =[float(i) for i in numbers] # given that numbers in list are of float type
i= 0
while i < int(num):
a,b = input().split() # start and end element in list
i += 1
print(round(sum(k[int(a):(int(b)+1)])/(-int(a)+int(b)+1),6)) # round up to 6 decimals
Но это не Мне сказали, что лучше избавиться от «пока», но я не знаю как. Благодарю за любую помощь.
Example:
Input:
8 - len(list)
79.02 36.68 79.83 76.00 95.48 48.84 49.95 91.91 - list
10 - number of test
0 0 - a1,b1
0 1
0 2
0 3
0 4
0 5
0 6
0 7
1 7
2 7
Output:
79.020000
57.850000
65.176667
67.882500
73.402000
69.308333
66.542857
69.713750
68.384286
73.668333