Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2013, 15:24
BiChOmAlO_TGN
 
Fecha de Ingreso: julio-2003
Mensajes: 243
Antigüedad: 21 años, 4 meses
Puntos: 11
ejercicio muy sencillo

sigo con mi aprendizaje y practicas.. :)

#Crea tu función generateNumbers (inicio, final, paso) que toma en tres números como argumentos y devuelve una lista de números que van
#desde el principio hasta el número final(inclusive) y los números saltan basado en el paso específico de los argumentos.
#Nota: El rango de la función (x, y, z) se toma en 3 argumentos. Por ejemplo, el rango (1, 11, 2) devuelve una lista de números [1,3,5,7,9].

# >>> generateNumber(2, 10, 2)
# [2, 4, 6, 8, 10]
# >>> generateNumber(10, 10, 1)
# [10]
# >>> generateNumber(20, 0, -3)
# [20, 17, 14, 11, 8, 5, 2]

Código Python:
Ver original
  1. def generateNumber(inicio,final,salto):
  2.     lista=[]
  3.     for x in range (inicio,final,salto):
  4.         lista.append(x)
  5.     return lista


me tiene que dar estos resultados:

print (generateNumber(2,10,2))
>> [2, 4, 6, 8, 10]
print (generateNumber(20,0,-3))
>> [20, 17, 14, 11, 8, 5, 2]
print (generateNumber(15, 6, -2))
>> [15, 13, 11, 9, 7]


el problema esta en que generateNumber(2,10,2) me devuelve [2, 4, 6, 8, ]


entonces pensé le sumo uno al final en el ciclo for y funcionó

Código Python:
Ver original
  1. def generateNumber(inicio,final,salto):
  2.     lista=[]
  3.     for x in range (inicio,final+1,salto):
  4.         lista.append(x)
  5.     return lista

pero ahora la que falla es esta print (generateNumber(15, 6, -2)) que se queda así [15, 13, 11, 9]

se que es una tontería pero no se me ocurre como solucionarlo para que todos los resultados sean correctos :(

Saludos y mil Gracias!