2013-10-27 44 views
0

所以這是問題,它只需要字符...但我想分開它們。計數空格和數字分機。編輯{「space」; [空格鍵]單詞之間的空格,(「」)。不會數字數字除了字母,不會數數空間

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() 
+0

什麼問題? –

回答

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

這一切確實是算字符在你的字符串的數量。它與len(input)相同。 (請注意,您不應該調用變量input,它掩蓋了python內置函數)您的space函數執行同樣的操作,因爲它與重命名的局部變量具有相同的功能。

如果要修復上述功能,則需要在for循環中使用if語句,該語句分別檢查.isdigit().isspace()

對於space,至少應該使用.count()字符串方法。 (如果實現在循環一些if邏輯)

a = 'this is my string' 

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

你的做法是罰款digit。或者有列表理解方法,sum(c.isdigit() for c in my_string)

相關問題