Нужна помочь написать код в python

Дан список чисел. Не используя функцию len определения количества элементов в этом списке и не используя цикл по коллекции, определить:

a) количество элементов в списке;
b) сумму элементов в списке;
c) значения наибольшего отношения (доли) среди элементов.


Ответы (2 шт):

Автор решения: Стас

Я решил с помощью обработки исключений:

def mylen(list):
    tmp = 0
    i = 0
    while True:
        try:
            tmp = l[i] #пытаемся присвоить переменной tmp значение списка
            i+=1
        except IndexError: #если i вышло за размаеры списка - завершаем цикл
            break
    return i




l = [1,2,3,4]
i = mylen(l) #теперь i - кол-во элементов
print("Количество элементов равно ",i)

Длина у вас есть, дальше справитесь сами

UPD добавил нахождение суммы:

tmp = 0
sum = 0

while tmp < i:
    sum += l[tmp] #просто прокручиваем список
    #и прибавляем к sum его значения один за другим
    tmp += 1
print("Сумма элементов равна:",sum)
→ Ссылка
Автор решения: user388560

Допустим есть: ar = [1,2,3,4,5]

a) Как альтернативный подход можно взять индекс последнего элемента + 1: ** ar.index(ar[-1]) + 1** где ar[-1] последний элемент списка.

b) Условием задачи не запрещено использовать встроенную функцию sum():

sum(ar)

или без неё, но с циклом:

while ar: result += ar.pop() return result

c) Специальные функции в Python вщзвращают минимальный и максимальный элементы в списке соответственно: max(ar) - min(ar)

→ Ссылка