У меня проблемы с этим более сложным сценарием.
Я понимаю это:
def max(alist):
if len(alist) == 1:
return alist[0]
else:
m = max(alist[1:])
return m if m > alist[0] else alist[0]
Который находит максимальное число в списке, используя только рекурсию. Это повторяет функцию, медленно сжимающую список каждый раз, когда я получаю. Моя проблема в том, что мне нужно создать функцию, которая возвращает 2-е наименьшее число. Я не понимаю, как это сделать, так как вам нужно сравнить каждый элемент с остальными элементами в списке. Как бы я сделал это только с рекурсией и без встроенных функций или для циклов?