[Python3] Me podrian explicar el funcionamiento.

Iniciado por reconFito, 27 Junio 2020, 04:12 AM

0 Miembros y 1 Visitante están viendo este tema.

reconFito

Hola que tal a todos, me encontre este codigo y no termino de entender input.n y los demas usos
que le dan en este codigo.
Crei que era sobreescritura del metodo input pero eso solo lo he visto implementado en clases
no en funciones simples.

Gracias por sus respuestas

Código (python) [Seleccionar]


inputs = """
emanuel
eduardo
nuñez
maliños
"""


def input():
    try:
        input.n += 1
    except Exception:
        input.n = 0
    return inputs.split()[input.n]


first = input()
second = input()
print(first, second)


[/size][/size][/size][/size]

tincopasan

hola:
         no es mi fuerte explicar pero veamos:
no sobreescribe la función input de python, solo que al crear una con el mismo "nombre", está toma el primer valor y la "original" deja de estar presente en este código
Código (python) [Seleccionar]
try:
        input.n += 1

la primera vez que se ejecuta este código dará una excepción, porque claro input no posee un método o propiedad n
Citarexcept Exception:
        input.n = 0
    return inputs.split()[input.n]
lo cual te trae acá y ahora se asigna a input.n el valor 0, a partir de ahora existe input.n
el retorno no es otra cosa que el elemento de una lista a partir del índice que en este caso es 0, o sea el primer elemento de la conversión de la cadena inputs a lista = emanuel, pero recordemos que ahora si existe input.n
la segunda vez que se llama a la función al existir input.n se le asigna el valor 1 y regresa lo mismo que antes salvo que el índice es 1 y se irá incrementando a medida que llames a la función.

perdón sino soy muy claro , pero es simple de entender y se me dificullta de transmitir.

Saludos.