Я хочу написать функцию, которая будет определять длину списка на основе пользовательского ввода. Я не хочу использовать встроенную функцию len(). Пожалуйста помогите. Функция, которую я написал, работает для строк, но для списков она не работает.как найти длину списка в python без использования len()
#function for finding out the length
def string_length(a):
for i in a:
j+=1
return j
#taking user input
a = input("enter string :")
length = string_length(a)
print("length is ", length)
Я понятия не имею, как вы получили это, чтобы работать на строку. Обратите внимание, что вы добавляете 1 к переменной «j», не сказав сначала, что такое j. – Arya
Что вы имеете в виду, это не работает для списка? Можете ли вы привести пример ввода, который вам не подходит? Кроме того, как уже указывалось, этот код не должен запускаться, потому что вы никогда не объявляли 'j' в своем методе. – idjaw
Ваша функция (однажды исправленная, как и другие предложенные комментарии) будет работать для любого конечного итерабельного. Однако обратите внимание, что если вы называете его бесконечным итератором, он будет продолжаться вечно, вместо того, чтобы создавать исключение, например 'len'. – acdr