我正在采取一个整数值,找到该值的阶乘,并试图计算尾随零的数量(如果存在的话)。例如:突破列表理解?
def zeros(n):
import math
factorial = str(math.factorial(n))
zeros_lst = [number if number == "0" (else) for number in factorial[::-1]]
return len(zeros_lst)
括号中的“else”是发生问题的位置。如果遇到不为零的数字,我想离开循环。我尝试像平时一样使用break,然后查找一些例子,但没有发现任何相似之处。
如果有人知道如何从列表理解中突破,或者如果甚至可能会很好。我相信有更好的方法可以解决这个问题,如果你这样做,请张贴。
请修复您的代码格式。 – albert
列表解析并不真正支持中断的概念...只需使用标准的'for'循环... – ig0774
您可以像'itertools.takewhile'那样使用生成器表达式 - 但正如@ ig0774所述,你可能更喜欢香草循环。 – mgilson