将字符串的长度打印为数字

时间:2016-01-18 03:41:33

标签: python string python-3.x

我正在尝试定义一个函数,它打印字符串的确切长度(可以是任何长度 - 基于用户输入),作为数字。例如:

string = "hello"

字符串的长度是5,所以python打印这一行:

"1 2 3 4 5"

如果

string = "notnow"

字符串的长度是6,所以python打印这一行:

"1 2 3 4 5 6"

5 个答案:

答案 0 :(得分:1)

我使用enumerate,它按字符快速计算(在本例中),并且可以非常整齐地用于列表理解:

for i, char in enumerate(string):
    print i+1,

其中string是您想要的任何字符串(来自用户输入,或其他)。 print i+1打印枚举(加一,因为索引从0开始),逗号将它们全部保存在同一行。

您可以将其与标准一起使用:

string = raw_input('Enter some text: ')

input如果您在python 3.X

答案 1 :(得分:1)

string1 = "hello"
string2 = "notnow"

def lenstr(s):
    return ' '.join(map(str, range(1, len(s) + 1)))

print(lenstr(string1))
print(lenstr(string2))
print(lenstr(''))

如果字符串的长度为0,则不会打印任何内容。

答案 2 :(得分:0)

只要整数为正,就可以打印x,x-1,x-2等。

答案 3 :(得分:0)

这个怎么样:

ret = ""
string = "hello"

for i in range(len(string)):
    ret+=str(i+1) + " "

print ret

len("hello")为5,len("notnow")为6.我不知道为什么你的问题中的这些数字是1。

答案 4 :(得分:0)

对于这类问题,我喜欢将列表理解和连接结合起来。像这样:

def indexify(text): 
    return ' '.join([str(x + 1) for x in range(len(text))])