String length without len function

2019-01-26 02:25发布

Can anyone tell me how can I get the length of a string without using the len() function or any string methods. Please anyone tell me as I'm tapping my head madly for the answer.
Thank you.

15条回答
放荡不羁爱自由
2楼-- · 2019-01-26 02:59

Try doing this, its pretty simple and easy

def calculate_length(a):
    x=0
    for i in a:
       x+=1
    print(x)
查看更多
相关推荐>>
3楼-- · 2019-01-26 03:02

Using while loop

a = 'string'
count = 0

while True:
    try:
        if a[count]:
            count += 1
    except IndexError as e:
        break

print(count)
查看更多
淡お忘
4楼-- · 2019-01-26 03:03
>>> sum(map(lambda x:1, "hello world"))
11

>>> sum(1 for x in "foobar")
6

>>> from itertools import count
>>> zip(count(1), "baz")[-1][0]
3

A "tongue twister"

>>> sum(not out not in out for out in "shake it all about")
18

some recursive solutions

>>> def get_string_length(s):
...     return 1 + get_string_length(s[1:]) if s else 0
... 
>>> get_string_length("hello world")
11
>>> def get_string_length_gen(s):
...     yield 1 + next(get_string_length_gen(s[1:])) if s else 0
... 
>>> next(get_string_length_gen("hello world"))
11
>>> 
查看更多
登录 后发表回答