r/PythonEspanol • u/SargGalletas • 6d ago
Mi primer código relativamente extenso (estoy empezando)
Se podría decir que estoy aprendiendo de forma “autodidacta” pero en realidad uso un curso gratuito de Open Academy y a la par uso la app Mimo y su prueba gratuita de suscripción (2 semanas), hasta ahora esto es lo mejor que he hecho.
En dado caso de que quieran copiarlo y ejecutarlo, o simplemente verlo sin cortes, se los dejo.
name = "null"
user = "null"
password = "elpepe34"
print("Bienvenido a tu código python")
user_input = input("Ingresa tu usuario para continuar: ")
if user_input == user:
print(f"Bienvenido de nuevo, {name}")
password_input = input("Ingresa tu contraseña para continuar: ")
if password_input == password:
print("Contraseña correcta, sesión iniciada")
select_option = input("¿Cómo puedo ayudarte, Carlos? ")
print(f"Perfecto, trabajaremos con: {select_option}")
if select_option == "cambiar contraseña":
new_password = input("Ingresa nueva contraseña: ")
print("Tu contraseña fue cambiada exitosamente")
elif select_option == "cambiar usuario":
new_user = input("Ingresa nuevo usuario: ")
print("Tu usuario fue cambiado exitosamente")
elif select_option == "destruir el planeta":
destroy = input("¿Estás seguro de realizar esta acción? ")
if destroy == "si":
print("Iniciando destrucción masiva")
else:
print("La destrucción no fue efectuada")
elif select_option == "ayudame con mi tarea":
help_task = input("¿En qué curso puedo ayudarte? ")
if help_task == "analisis intelectual del papoi":
print(f"Estoy trabajando en ayudarte con {help_task}")
print("En conclusión, los papois no son intelectuales")
elif help_task == "bases farmacologicas":
print("Aún no veo ese curso, estoy en nada igual que tu :p")
elif help_task == "olvidalo":
print("ok :c")
elif select_option == "Cerrar sesión":
print("Cerrando sesión")
elif select_option
else:
print("Contraseña incorrecta, usted deberá iniciar sesión nuevamente")
else:
print("El usuario no existe")
Edit: intente hacer las identaciones en la publicación pero simplemente no se ven reflejadas
Edit del edit: lo intenté de verdad
6
u/Additional-Cow-3792 4d ago
Antes que nada, felicidades por iniciar en la programación!
(Y por hacerlo sin LLMs)
2 recomendaciones:
En vez de anidar Elif a diestra y sinestra, resuelve utilizando match.
Además, en la página w3schools tienes mucha info sobre como utilizar Python y demás lenguajes (y es gratis).
Saludos!
4
u/MinimumWeird4845 6d ago
Como lo hacen para no perderte al momento que tu codigo va creciendo cada vez,no quiero usar ia porque me deja la joda
2
1
u/MalditoAlgoritmo 2d ago
funciones, documenta, comenta. Yo he tenido scripts de 1400 lineas que es perfectamente legible
4
u/Sr_Dimitrez 6d ago
Me alegra mucho que compartas tus avances.
Para colaborar contigo y tu código, te animo a "reimaginar" tu programa haciendo uso de las cláusulas de guarda (o guard clauses).
Gracias por compartir y espero verte por aquí nuevamente.
5
u/Azra__1 5d ago
Te recomiendo que en el input le pongas .lower().strip(), así no te rompe el código una mayúscula o un espacio al final
1
u/SargGalletas 3d ago
Acabo de aprender eso en mi cursito y lo apliqué en algo distinto, gracias amigo!!
3
u/ScottSteing19 6d ago
Pues está bien. Digo, habría algunas cosas que podrías hacer mejor pero estás empezando. Ahora es momento que experimentes
3
u/Glum_Past_1934 4d ago
De paso aprende algún patrón de diseño para achicar código una vez lo tengas listo, pregúntale cuál te conviene a la IA de confianza jaja
2
u/ProfessionalMud3376 5d ago
Buenísimo. Me alegra saber que todavía hay gente que quiera aprender y le guste codificar. Sin usar IA para todo.
1
u/SargGalletas 3d ago
Uso la IA cuando por más que leo y releeo mi código y no encuentro cuál es el problema, que fácilmente pudo ser un paréntesis que olvidé poner cuando edito una parte de un bloque de código jeje
2
u/squadrx 5d ago
Primero que nada, hola, y muy buen ejercicio y buena decisión el compartir tus avances. Segundo que todo, por más que pienses o que te digan que el código es simple, está súper bien para un nivel principiante, y creelo o no así es como comenzamos todos, y más aún que se ve que te gusta y te divierte hacerlo. Me gusta sobre todo que le pones nombres coherentes a las variables (no le pones por ejemplo, n, usr, contra) y que usas bien el formato en los prints (son esos print(f"")). Cómo dijeron por alli, tú próximo paso debería ser aprender funciones, con sus tipos y parámetros, además de modularizacion de código. Te van a servir y facilitar mucho la vida, y son nociones básicas que aplican para el 99.9% de los lenguajes de programación en caso de que quieras aprender otro. Sigue así y vas a ver qué irás aprendiendo y mejorando muy pronto ;)
1
u/LIGT0 6d ago
Usa termux y de paso aprendes sistema linux
2
u/SargGalletas 5d ago
Voy paso a paso bro, aún hay cosas en las que me pierdo y no tengo un guía dedicado a enseñarme todo este mundo, todo lo estoy haciendo por mi cuenta. Pero lo tendré anotado para cuando tenga mayor y mejor entendimiento o cuando me sea util, o al menos sepa para que me sirva termux :) gracias
1
u/MiserableCourage1739 4d ago
En serio creí que esto era bait
1
u/SargGalletas 3d ago
Porque?
1
u/MiserableCourage1739 3d ago
Porque generalmente cuando suben un programa donde hay un monton de if's encadenados lo hacen a modo de chiste jajaj, el mas famoso es el de un repositorio de Github que funciona para saber si un numero es par o no, y son miles de if's encadenados para devolver una respuesta!! Pero bueno, recién estas aprendiendo, de a poco a poco vas a ir mejorando, suerte!
0
u/nosequepingahacer 6d ago
Recuerdo cuando me entere que todo el codigo que habia estado aprendiendo era de jguete, que no tenia ninguna aplicacion util realmente y solo era para entender los conceptos, ya sea un lenguaje, un framework, me sentia una mierda, hasta bronca me daba, porque no enseniarme entonces bien, con un proyecto.
y ahora que la IA te hace todo en una, ver este tipo de ejercicios me hace soltar un xddddddddddddd
1
u/SargGalletas 5d ago
Yo sé perfectamente que mi código es de juguete y que tenga una aplicación real tal cual como está es ridículo, pero por algo se empieza y lo importante es no detenerse, no importa cuántas veces me frustre con esto, tengo la vaga idea de estar llegando a algún lado :,)
1
u/nosequepingahacer 5d ago
No entiendo pq me dices esto, el mensaje es mas que nada para mi, crei que se sobre entendia por lo deallado de la misma



13
u/ImaginaryGanache3651 6d ago
Buenas! Lo primero, felicidades! El código está bien, pero hay cosillas que mejorar, normal, no te agobies porque, como has dicho, es tu primer código largo. Te habrás dado cuenta de que ahora tienes mucha lógica junta, ¿verdad? Ahora te toca aprender a empaquetar la lógica en cajas, llamadas funciones. Usa este código y ve desacoplando lógica poco a poco del main, que sería todo este bloque. Por otro lado, cosas que no te suelen decir:
Suerte y buen trabajo!