Ejemplo de ejercicio de Python 18
Problema:Calcula el valor de s=a+aa+aaa+aaaa+aa...a, donde a es un dígito. Por ejemplo, 2+22+222+2222+22222 (en este caso se suman 5 números), el número de sumandos se controla mediante el teclado.
Análisis del programa:La clave es calcular el valor de cada término.
Código fuente del programa:
Ejemplo (Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
Tn = 0
Sn = []
n = int(raw_input('n = '))
a = int(raw_input('a = '))
for count in range(n):
Tn = Tn + a
a = a * 10
Sn.append(Tn)
print Tn
Sn = reduce(lambda x,y : x + y,Sn)
print "El resultado de la suma es:",Sn
Ejemplo (Python 3.0+)
#!/usr/bin/python
from functools import reduce
Tn = 0
Sn = []
n = int(input('n = '))
a = int(input('a = '))
for count in range(n):
Tn = Tn + a
a = a * 10
Sn.append(Tn)
print (Tn)
Sn = reduce(lambda x,y : x + y,Sn)
print ("El resultado de la suma es:",Sn)
La salida del ejemplo anterior es:
n = 4 a = 4 4 44 444 4444 计算和为: 4936Otras extensiones