Listas y Funciones 15. Explicación


#1

Buenas,
Me podrían decir que se debe hacer en Listas y Funciones 15. Pasar una serie a una función.
Las instrucciones dicen “Pasa una serie compuesta de 0, 1, 2 a myFun.”.
Entiendo que se deba escribir:

def myFun(x):
    for i in range(0,len(x)):
        x[i] = x[i] * 2
    return x
print myFun(range(0,1,2))

Pero obviamente retorna error.
No entiendo que quieren que haga. Me lo pueden explicar? Me ha pasado en diversos enunciados que no quedan claro como realizarlos y se tarda más de lo normal.

Muchas gracias.


#2
>>> list(range(0,1,2))
[0]
>>> list(range(2))
[0, 1]
>>> list(range(3))
[0, 1, 2]
>>> 

Vea cualquier cosa que haga que su cerebro haga ‘clic’! ’

range (inicio, parada, paso)

inicio == 0 por defecto no en la lista de argumentos
parada == solo argumento
paso == tercer argumento, inicio debe ser indicado

El valor ‘stop’ se excluye del iterador devuelto.

See anything that makes your brain go ‘click!’?

range( start, stop, step )

The ‘stop’ value is excluded from the returned iterator.

start == 0 by default of not in arguments list

stop == single argument

step == third argument, start must be indicated

Alternativamente, use una lista literal …

Alternately, use a list literal…

print myFun([0,1,2])

#3

Muchas gracias, por la explicación.
Pero el problema era más sencillo… No tenia en cuenta que para un rango de 0 a 2, debía especificar el rango entre 0 y 3…
Aconsejo descansar después de unas horas :sweat_smile:

Gracias una vez más.