elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  Python,opiniones?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Python,opiniones?  (Leído 5,164 veces)
Panic0

Desconectado Desconectado

Mensajes: 218



Ver Perfil
Python,opiniones?
« en: 21 Noviembre 2020, 02:39 am »

Hola a todos,hace poco Inicié un curso de python (Ya voy 9 clases aprox) hice un pequeño programa para de inicio de sesión.

Me gustaría saber sus opiniones (opiniones DECENTES y bien realizadas) lógicamente seguro tengo muchos errores.

Pd:Lo hice SOLO con lo que voy aprendiendo.

Código:
v = 1
while True:
    print("Que quiere hacer?" + "\n" + "1:Crear un usuario" + "\n" + "2:Inicia sesión" + "\n" + "3:Salir" )
    d = int(input(": "))
    if d == 1:
        while True:
            user1 = input("Ingrese un usuario: ")
            user2 = input("Repita el usuario: ")
            if user1 == user2:
                while True:
                    pass1 = input("ingresé una contraseña: ")
                    pass2 = input("Repita la contraseña: ")
                    if pass1 == pass2:
                        print("Usuario creado con éxito!")
                        v = 2
                        break
                    else:
                        print("Error ingresé la contraseña nuevamente!")
            if pass1 == pass2:
                break
            else:
                print("Error ingresé el usuario nuevamente!")
    if d == 2:
        if v == 1:
            print("Sin usuario!")
        else:
            while True:
                user1 = input("Ingresé el usuario: ")
                pass1 = input("Ingresé la contraseña: ")
                if user1 == user2 and pass1 == pass2:
                    v = 5
                    break
                else:
                    print("Nombre de usuario o contraseña incorrectos ")
    if v == 5:
        print("Iniciando sesión...")
        break
    if d == 3:
        print("Vuelva pronto!")
        break

:(


En línea

Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.
tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Python,opiniones?
« Respuesta #1 en: 21 Noviembre 2020, 03:16 am »

¿me gustaría saber que es para vos una opinón decente y bien realizada? ¿y qué pasa si no son así?
¿cuál es la necesidad de remarcar que lo hiciste solo con lo que vas aprendiendo? ¿es eso extraordinario?
con respecto al código, efectivamente hay muchos errores, ni hablar que se puede simplificar.
veamos:
Código
  1. print("Que quiere hacer?" + "\n" + "1:Crear un usuario" + "\n" + "2:Inicia sesión" + "\n" + "3:Salir" )
la suma(concatenación) de cada cadena es innecesaria y además es feo de leer pero en todo caso:
Código
  1. print("Qué quiere hacer?\n1:Crear un usuario\n2:Inicia sesión\n3:Salir" )
da el mismo resultado y te ahorrás todos los "+"
pero lo mejor para hacer el código más legible sería:

Código
  1. print("""Qué quiere hacer?
  2. 1:Crear un usuario
  3. 2:Inicia sesión
  4. 3:Salir""" )   #el mismo resultado más legible
  5.  

Código
  1. d = int(input(": "))
  2.  

no hay manejo de error, el usuario puede "errar" y tipear una letra lo cual lo hará crashear, además si la opción es mayor a 3 repite el menú pero no infoema que la opción no es válida.

hay varios errores de indentado, no sé si cuando lo copiaste o así está, si ponés dos usuarios distintos  dará error, y si haces todo bien repetirá el bucle sin salir.
solo permite un usuario, no vuelve al menú etc.

Edito: me olvidé, esto debería ir en scripting


« Última modificación: 21 Noviembre 2020, 03:18 am por tincopasan » En línea

Panic0

Desconectado Desconectado

Mensajes: 218



Ver Perfil
Re: Python,opiniones?
« Respuesta #2 en: 21 Noviembre 2020, 05:25 am »

¿me gustaría saber que es para vos una opinón decente y bien realizada? ¿y qué pasa si no son así?
¿cuál es la necesidad de remarcar que lo hiciste solo con lo que vas aprendiendo? ¿es eso extraordinario?
con respecto al código, efectivamente hay muchos errores, ni hablar que se puede simplificar.
veamos:
Código
  1. print("Que quiere hacer?" + "\n" + "1:Crear un usuario" + "\n" + "2:Inicia sesión" + "\n" + "3:Salir" )
la suma(concatenación) de cada cadena es innecesaria y además es feo de leer pero en todo caso:
Código
  1. print("Qué quiere hacer?\n1:Crear un usuario\n2:Inicia sesión\n3:Salir" )
da el mismo resultado y te ahorrás todos los "+"
pero lo mejor para hacer el código más legible sería:

Código
  1. print("""Qué quiere hacer?
  2. 1:Crear un usuario
  3. 2:Inicia sesión
  4. 3:Salir""" )   #el mismo resultado más legible
  5.  

Código
  1. d = int(input(": "))
  2.  

no hay manejo de error, el usuario puede "errar" y tipear una letra lo cual lo hará crashear, además si la opción es mayor a 3 repite el menú pero no infoema que la opción no es válida.

hay varios errores de indentado, no sé si cuando lo copiaste o así está, si ponés dos usuarios distintos  dará error, y si haces todo bien repetirá el bucle sin salir.
solo permite un usuario, no vuelve al menú etc.

Edito: me olvidé, esto debería ir en scripting


Wow tu opinión está exelente (una pija con patas y pelos hubiese dado una mejor opinión la verdad)

Además es necesario ser tan sobrador?
(O por lo menos yo noto eso)
Gracias por responderme!

 ::)
« Última modificación: 21 Noviembre 2020, 05:32 am por Panic0 » En línea

Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.
tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Python,opiniones?
« Respuesta #3 en: 21 Noviembre 2020, 16:03 pm »

Aclaremos algo, no soy sobrador con respecto al código(pediste observaciones, eso son), todos estamos aprendiendo, si lo soy en cuanto a los comentarios fuera del código, porque ¿de qué sirve pedir una opinión sino se aguantan la respuesta? Las opiniones no siempre serán lo que queremos oir, y ser nuevo o autodidacta no es excusa, muchos en el foro lo son y no por eso lo presumen o ponen como pretexto.
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.524


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Python,opiniones?
« Respuesta #4 en: 21 Noviembre 2020, 18:20 pm »

Wow tu opinión está exelente (una pija con patas y pelos hubiese dado una mejor opinión la verdad)

Además es necesario ser tan sobrador?
(O por lo menos yo noto eso)
Gracias por responderme!

 ::)

Panic0: Lo escrito por tincopasan lo veo bien y lo denotado en los errores de tu código es estrictamente técnico. No encuentro lo "sobrador" en su comentario. Si es por sus consultas iniciales, deberías haber respondido a las mismas, no contestar como lo has hecho.

Tu comentario (que cito al inicio) lo encuentro estrictamente ofensivo y fuera de lugar.

Por otro lado, todos los temas referente al lenguaje python, van en la sección de scripting.

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Danielㅤ
Moderador
***
Desconectado Desconectado

Mensajes: 1.853


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: Python,opiniones?
« Respuesta #5 en: 21 Noviembre 2020, 19:12 pm »

Hola, el compañero tincopasan no te ha ofendido para nada, además ha dado su comentario y si te fijas es el único que te ha ayudado hasta ahora (hasta mí post), hay que valorar eso.

Por otro lado dandote mí punto de vista:

Tú código debería ir dentro de una función, como recién comenzas lo mejor es siempre poner los códigos dentro de funciones.

Aquí tienes que hacer la comprobación:

Código:
    d = int(input(": "))

Porque siempre intentas pasar a int el valor del usuario, pero el usuario puede no poner un número ya sea por error o intencionalmente.

Por otro lado aquí:

Código:
            user1 = input("Ingrese un usuario: ")
            user2 = input("Repita el usuario: ")

Tenés que hacer la comprobación de que user1 tiene que ser igual que user2.

Usas mucho break, no deberías usarlo para nada, no es recomendable.

Tenés que usar el else if, siempre usas if, pero el else if es sumamente importante.

Usas muchos while, deberías o no usar ninguno o solamente usar uno solo es suficiente, también podes usar funciones en vez de while, las llamas cada vez que necesites, una llamada sería como vuelta/ciclo del while o for.


Saludos
« Última modificación: 21 Noviembre 2020, 19:16 pm por [D]aniel » En línea

Panic0

Desconectado Desconectado

Mensajes: 218



Ver Perfil
Re: Python,opiniones?
« Respuesta #6 en: 22 Noviembre 2020, 01:51 am »

Aclaremos algo, no soy sobrador con respecto al código(pediste observaciones, eso son), todos estamos aprendiendo, si lo soy en cuanto a los comentarios fuera del código, porque ¿de qué sirve pedir una opinión sino se aguantan la respuesta? Las opiniones no siempre serán lo que queremos oir, y ser nuevo o autodidacta no es excusa, muchos en el foro lo son y no por eso lo presumen o ponen como pretexto.
Si te soy sincero tu opinión sonó más como que te estabas burlando.
maybe lo interprete mal jajajaja
Perdón  :(  :-(
En línea

Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Virtual Dub Mod - Opiniones
Multimedia
TiFoR 2 2,993 Último mensaje 11 Febrero 2005, 05:55 am
por Songoku
Opiniones para un neonato con python
Scripting
dato000 7 3,012 Último mensaje 17 Julio 2012, 14:09 pm
por dato000
[Python] ¿Por qué Python 2.7.3 admite la sintaxis de Python 3? « 1 2 »
Python
Yidu 10 11,288 Último mensaje 10 Febrero 2013, 21:46 pm
por Eleкtro
Python - opiniones de mi script/ consejos
Scripting
Biodude9456 2 2,287 Último mensaje 8 Marzo 2016, 11:00 am
por BlackM4ster
opiniones
Foro Libre
Retro54 4 1,814 Último mensaje 1 Agosto 2018, 01:18 am
por bettu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines