Que opinais de este codigo?


Marjanii

Perro Sanchez
Noderador
Nodero
Noder
Buenas viejos sabrosos
Pues acabo de empezar con la programacion, empeze literalmente ayer, y he estado probando algunas cosas. Estoy aprendiendo python.
Acabo de hacer un codigo dnd t pregunta por tu edad, y solo puedes entrar si tienes entre 18 y 36 años, sino pues fuera.
y por otro lado tambien te pregunta si eres peruano, por saber
Lo dicho, acabo de empezar y me gustaria saber como lo veis

Python:
edad = int(input("cuantos años tienes?"))

if edad <= 17:
    print("esperate un poco")
    exit()

elif edad >= 36:
    print("estas ya muy viejo")
    exit()

else:
    print("ok")

si = "si"

no= "no"


while True:  # Bucle infinito
    pais = input("¿Eres peruano? (SI o NO): ").strip().lower()

    if pais == si:
        print("No puedes, por peruano")
        exit()

    elif pais == no:
        print("Menos mal")
        exit()

    else:
        print("sabes leer?")  # Vuelve a preguntar

cualquier recomendacion me molaria saberla

Gracias.
 

destapeman

FUCK PUSSYS, YES BADASS
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder
tienes que meter un exit en el else del while o un contador para que por ejemplo tras 3 intentos fallidos el valor del true se cambie a false y salga porque vas a provocar desbordamiento de pila (stack overflow)
 
  • Like
Reacciones : Marjanii

ragemaker

El malandro
Noder
El exit del bloque de la edad sobra, mejor un return o break. Hay demasiados exits en general en el código.

edad = int(input("¿Cuántos años tienes? "))

if edad <= 17:
print("Espera un poco.")
elif edad >= 36:
print("Estás ya muy viejo.")
else:
print("Ok.")

si = "si"
no = "no"

while True:
pais = input("¿Eres peruano? (SI o NO): ").strip().lower()

if pais == si:
print("No puedes, por peruano.")
break # Salimos del bucle si es peruano
elif pais == no:
print("Menos mal.")
break # Salimos del bucle si no es peruano
else:
print("¿Sabes leer?") # Vuelve a preguntar


Parece que sé de lo que hablo, ¿Verdad? Pues no entiendo una mierda de Python, me lo ha dicho todo ChatGPT
 

alextejero28

Miembro muy activo
Buenas viejos sabrosos
Pues acabo de empezar con la programacion, empeze literalmente ayer, y he estado probando algunas cosas. Estoy aprendiendo python.
Acabo de hacer un codigo dnd t pregunta por tu edad, y solo puedes entrar si tienes entre 18 y 36 años, sino pues fuera.
y por otro lado tambien te pregunta si eres peruano, por saber
Lo dicho, acabo de empezar y me gustaria saber como lo veis

Python:
edad = int(input("cuantos años tienes?"))

if edad <= 17:
    print("esperate un poco")
    exit()

elif edad >= 36:
    print("estas ya muy viejo")
    exit()

else:
    print("ok")

si = "si"

no= "no"


while True:  # Bucle infinito
    pais = input("¿Eres peruano? (SI o NO): ").strip().lower()

    if pais == si:
        print("No puedes, por peruano")
        exit()

    elif pais == no:
        print("Menos mal")
        exit()

    else:
        print("sabes leer?")  # Vuelve a preguntar

cualquier recomendacion me molaria saberla

Gracias.

Buenas, estas dos variables te sobran:
si = "si"

no= "no"

directamente ponlo en el while:
if pais == "si":
 
  • Like
Reacciones : Marjanii

zvadre

27
Noderador
Nodero
Noder
cómo estás empezando, con videos, con algún curso? porque me quiero meter a aprender yo tmb
 

Rodkaiser

Rod de Lezo | Kaiser de Ovieco
Noderador
Nodero
Noder
Buenas viejos sabrosos
Pues acabo de empezar con la programacion, empeze literalmente ayer, y he estado probando algunas cosas. Estoy aprendiendo python.
Acabo de hacer un codigo dnd t pregunta por tu edad, y solo puedes entrar si tienes entre 18 y 36 años, sino pues fuera.
y por otro lado tambien te pregunta si eres peruano, por saber
Lo dicho, acabo de empezar y me gustaria saber como lo veis

Python:
edad = int(input("cuantos años tienes?"))

if edad <= 17:
    print("esperate un poco")
    exit()

elif edad >= 36:
    print("estas ya muy viejo")
    exit()

else:
    print("ok")

si = "si"

no= "no"


while True:  # Bucle infinito
    pais = input("¿Eres peruano? (SI o NO): ").strip().lower()

    if pais == si:
        print("No puedes, por peruano")
        exit()

    elif pais == no:
        print("Menos mal")
        exit()

    else:
        print("sabes leer?")  # Vuelve a preguntar

cualquier recomendacion me molaria saberla

Gracias.
Python diferencia mayúsculas de minúsculas. "SI" != "si". Haz un toUpper o un toLower para que eso no falle.
 
  • Like
Reacciones : DBØY

Marjanii

Perro Sanchez
Noderador
Nodero
Noder
cómo estás empezando, con videos, con algún curso? porque me quiero meter a aprender yo tmb
He empezado con videos de yt, "
" q me ha ayudado bastante, a comprender varias cosas de la programacion y eso.
tengo pensado seguir viendo videos y practicando mucho, y ya cuando lo controle, pues a otro lenguaje
 
  • Like
Reacciones : zvadre

DBØY

>su 313
Burgués de Nodo
Noderador
Nodero
Noder
Segun se me ha enseñado en el grado, no es bonito usar un "While True" y luego forzar la salida con un exit, es mejor hacer una condicion para que se salga del bucle de forma "natural", asi de paso practicas las condiciones y tienes un mayor control sobre el bucle.

Cuando programaba en python por libre tambien usaba mucho el exit, pero ahora que estudio esto me han dicho de hacerlo asi...
 
  • Like
Reacciones : Marjanii

DarkestZeus

Miembro muy activo
Noder
Segun se me ha enseñado en el grado, no es bonito usar un "While True" y luego forzar la salida con un exit, es mejor hacer una condicion para que se salga del bucle de forma "natural", asi de paso practicas las condiciones y tienes un mayor control sobre el bucle.

Cuando programaba en python por libre tambien usaba mucho el exit, pero ahora que estudio esto me han dicho de hacerlo asi...
Muy cierto, yo tenía entendido lo mismo. Te pones unos booleans y ready
 

Capitan9709

Binvenido Chulo
Noderador
Nodero
Noder
Buenas viejos sabrosos
Pues acabo de empezar con la programacion, empeze literalmente ayer, y he estado probando algunas cosas. Estoy aprendiendo python.
Acabo de hacer un codigo dnd t pregunta por tu edad, y solo puedes entrar si tienes entre 18 y 36 años, sino pues fuera.
y por otro lado tambien te pregunta si eres peruano, por saber
Lo dicho, acabo de empezar y me gustaria saber como lo veis

Python:
edad = int(input("cuantos años tienes?"))

if edad <= 17:
    print("esperate un poco")
    exit()

elif edad >= 36:
    print("estas ya muy viejo")
    exit()

else:
    print("ok")

si = "si"

no= "no"


while True:  # Bucle infinito
    pais = input("¿Eres peruano? (SI o NO): ").strip().lower()

    if pais == si:
        print("No puedes, por peruano")
        exit()

    elif pais == no:
        print("Menos mal")
        exit()

    else:
        print("sabes leer?")  # Vuelve a preguntar

cualquier recomendacion me molaria saberla

Gracias.
No esta mal para empezar, ya te han corregido alguna cosa antes, yo te diria que te acostumbrases a escribir todo lo que sea codigo en ingles, ya textos de cara a usuario lo que quieras, pero si empiezas ahora y te mola luego te es mas facil entender codigo de otra gente en ingles. Y sobre todo, variables que se expliquen con su propio nombre, no "x" ni "y", para aprender esta bien pero acostumbrate a describirlas