不会计算除字母之外的数字,也不会计算空格

时间:2013-10-27 21:53:28

标签: python python-3.x

这是问题所在,只需要字符......但我想将它们分开。计算空格和数字分机。编辑{“空格”; [空格键]单词之间的空格,(“”)。

def main():
    sen = (input(' Type something: '))
    printStats(sen)

def printStats(input):
    print('Statistics on your sentence: ')
    print('   Digits:', digit(input))
    print('   Spaces:', space(input))


def digit(input):
    count = 0
    for digit in input:
        count +=1
    return (count)

def space(input):
    count = 0
    for space in input:
        count +=1
    return (count)

main()

1 个答案:

答案 0 :(得分:0)

def digit(input):
    count = 0
    for digit in input:
        count +=1
    return (count)

所有这一切都是计算字符串中字符的数量。它与len(input)相同。 (请注意,您不应该调用隐藏python内置函数的变量input)。space函数执行相同的操作,因为它与重命名的局部变量具有相同的功能。

如果您想修复上述功能,则需要if循环中的for语句分别检查.isdigit().isspace()

对于space,至少应该使用.count()字符串方法。

a = 'this is my string'

a.count(' ')
Out[11]: 3

您的方法适用于digit(如果您在循环中实现了一些if逻辑)。或者是列表理解方法sum(c.isdigit() for c in my_string)