Может кто-нибудь сказать мне, как я могу получить длину строки без использования функции len() или каких-либо строковых методов. Пожалуйста, кто-нибудь, скажите мне, как я безумно постукиваю головой для ответа. Спасибо.
len()
легко:
length=0 for x in "This is a string": length+=1 print(length)
def length(object):#Define the length calculation function count = 0 #initializing the length to be equal to zero object = input() #enter the argument for i in object: count=count+1 print("Length of the string is"+str(count)) length(object)
a = 'malayalam' length = 0 for i in a: if i == "": break else: length+=1 print length
Этот код проверяет длину строки, считая до "" (конец строки). Если строка достигает конца, цикл прерывается и возвращает окончательную длину строки.
Вот способ сделать это, посчитав количество вхождений пустой строки в строке:
def strlen(s): return s.count('') - 1
Поскольку "".count("") возвращает 1, вы должны вычесть 1, чтобы получить длину строки.
"".count("")
Не очень эффективно, но очень кратко:
def string_length(s): if s == '': return 0 return 1 + string_length(s[1:])