问题描述:编写函数,计算形式如a + aa + aaa + aaaa + ... + aaa...aaa的表达式的值,其中a为小于10的自然数。
相信大多数朋友会直接给出下面的代码:
def demo1(a, n):
result, t = 0, 0
for i in range(n):
t = t*10 + a
result += t
return result
上面这段代码绝对是C语言的标准套路,而下面的代码明显更Pythonic:
def demo2(a, n):
a = str(a)
result = sum(eval(a*i) for i in range(1,n+1))
return result