840
Объяснение:
Функция рекурсивно вызывает саму себя с разными аргументами.
F(5) должна вычислить F(4) * 7
F(4) ----------------------------- F(3) * 6
F(3) ----------------------------- F(2) * 5
F(2) ----------------------------- F(1) * 4
F(1) возвращает 1.
F(2) получает 1, вычисляет 1*4 и возвращает результат 4
F(3) получает 4, вычисляет 4*5 и возвращает 20
F(4) получает 20, вычисляет 20*6 и возвращает 120
F(5) получает 120, вычисляет 120*7 и возвращает 840
Основная программа получает 840 и выводит число на экран
Программа:
#! /usr/bin/env python3
#! encoding: utf-8
from random import randint
s = z = d = v = 0
n = randint(10, 100) # генерация случайного числа для длины списка
# Эмуляция входного потока. Генерирование списка чисел
a = [ randint(-50, 50) for _ in range(n) ]
l = len(a) # количество элементов списка
for i in a:
if i == 0:
z += 1 # Подсчет нулевых элементов
elif i < 0 :
v += 1 # Подсчет отрицательных (вiд'эмних)
else :
d += 1 # Подсчет положительных (додатних)
s += i # Вычисление суммы элементов
print(f"""------------------------------
Анализ списка:
а) Количество значений: {l},
b) Среднее значение списка: {s/l},
c) Сумма всех элементов: {s},
d) Количество нулевых элементов: {z},
e) Максимальный и минимальный элементы: {max(a)} {min(a)},
f) Количество положительных чисел: {d},
g) Количество отрицательных чисел: {v}.
------------------------------
""")
Результат выполнения: