0
考慮我有一個數字,如「579700068780000000
」。我只想計算編號後面的0
。所以對於上面的數字,答案將是7
而不是10
。我完全不知道我將如何做到這一點。只計算數字/字符串的尾部元素
我試過使用.count
函數,但它返回數字中的所有0。
注:這是codechef實踐挑戰的一部分Codechef factorial problem
考慮我有一個數字,如「579700068780000000
」。我只想計算編號後面的0
。所以對於上面的數字,答案將是7
而不是10
。我完全不知道我將如何做到這一點。只計算數字/字符串的尾部元素
我試過使用.count
函數,但它返回數字中的所有0。
注:這是codechef實踐挑戰的一部分Codechef factorial problem
你可以做一些愚蠢的,如:itertools.takewhile
len(number) - len(number.rstrip('0'))
或者,你可以使用:
sum(1 for _ in itertools.takewhile(lambda x: x=='0',reversed(string))
但是,這可能會比低效的情況。
你打我吧:) – karthikr
爲什麼那麼傻?聽起來像最好的解決方案。 – Elazar
@mgilson - 第一個解決方案非常棒!我不想進入itertools,因爲我對基礎知識不太瞭解 –