Mi primer proyecto de python

Iniciado por Panic0, 25 Agosto 2020, 00:32 AM

0 Miembros y 3 Visitantes están viendo este tema.

Panic0

Hola a todos,Hace mas o menos 2 semanas comencé con python y decidí hacer un micro proyecto.El cual trata de Registrarse e Iniciar sesión,estoy seguro que en el futuro voy a volverlo a mirar y voy a decir.Dios que ***** de codigo....Pero bueno jeje algo es algo
Quiero opiniones  ::)
import os
import time

info = 4
ele = 4
us = 3
us2 = 0
co = 0
co2 = 0
loop = 4
loop2 = 4
loop3 = 5
def lp():
    print("Espere")
    time.sleep(0.5)
    print(".")
    time.sleep(0.5)
    print(".")
    time.sleep(0.5)
    print(".")
    os.system("cls")
    t1 = ""
    return t1
while loop3 > 3:
    print("*********************")
    print("*  1:Iniciar sesión *")
    print("*  2:Registrarse    *")
    print("*  3:Salir          *")
    print("* ¿Qué desea hacer? *")
    print("*********************")
    print("Solo puedes elegir una de esas opciones!")   
    ele  = input(":")
    ele = int(ele)
    os.system("cls")
    if ele == 1:
        print("Ingrse su usuario")
        con = input(":")
        if con == us:
            con = 1
            print("Ingrese su contraseña")
            con = input(":")
            if con == co2:
                print("Fin del programa")
                loop3 = 2
        elif con == "":
            print("Error!" + "\n" "Sino tiene un usuario cree uno")
            time.sleep(5)
            os.system("cls")         
    if ele == 2:
        b = "12"
        info = 1
        if us == 3:
            while loop2 > 2:
                b = "12"
                print("Ingrese una nombre de usuario")
                us = input(":")
                print("Repita su usuario")
                us2  = input(":")
                T1 = ""
                T2 = ""
                if us == "":
                    T1 = str(T1.replace("1" ,us))
                    T1 = str(T2.replace("2" ,us2))
                    if  T1 == T2 == "":
                        b = str(b.replace("12" ,""))
                        print("Debe ingresar un usuario")
                        time.sleep(2)
                        print(lp())
                if us != us2:
                    print("Ambos tienen que ser iguales")
                    print(lp())
                if b == "12":
                    if us == us2:
                        while loop2 > 2:
                            loop = False
                            b = "12"
                            print("Ingrese una contraseña")
                            co = input(":")
                            print("Repita la contraseña")
                            co2  = input(":")
                            T1 = ""
                            T2 = ""
                            if co == "":
                                T1 = str(T1.replace("1" ,co))
                                T1 = str(T2.replace("2" ,co2))
                                if  T1 == T2 == "":
                                    b = str(b.replace("12" ,""))
                                    print("Debe ingresar una contraseña")
                                    time.sleep(2)
                                    print(lp())
                            if co != co2:
                                print("Ambas tienen que ser iguales")
                                print(lp())
                            if b == "12":
                                if co == co2:
                                    print("Usuario creado exitosamente")
                                    loop2 = False
                                    loop = False
                                    ele = 4
                                    print(lp())
    if ele == 3:
        print("Adiós")
        loop3 = 2
Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.

tincopasan

hola:
        ¿lo has probado?, ¿realmente crees que a los usuarios les gusta esperar por qué si?
tiene muchas cosas mal de lógica, otras innecesarias u otras faltan, código reduntante, y errores de ortografía o sintaxis(más vale que podés escribir como quieras, pero está bueno que el resultado final este cuidado). Te recomendaría que busques códigos de esto mismo, hay por toneladas en la red y compares que querés hacer y que hace realmente.Lee más sobre bucles y condicionales como mínimo. Como aprendizaje se nota terriblemente la falta de conocimientos.
No es con intención de ofender ni desmoralizar, práctica más, busca info de manejo de errores y trata de simplificar, en todo caso plantea dudas, hay muchos que saben y mientras no esperes todo hecho ni sea algo que pueda ser malicioso, seguro te ayudarán.

Panic0

Cita de: tincopasan en 25 Agosto 2020, 02:08 AM
hola:
        ¿lo has probado?, ¿realmente crees que a los usuarios les gusta esperar por qué si?
tiene muchas cosas mal de lógica, otras innecesarias u otras faltan, código reduntante, y errores de ortografía o sintaxis(más vale que podés escribir como quieras, pero está bueno que el resultado final este cuidado). Te recomendaría que busques códigos de esto mismo, hay por toneladas en la red y compares que querés hacer y que hace realmente.Lee más sobre bucles y condicionales como mínimo. Como aprendizaje se nota terriblemente la falta de conocimientos.
No es con intención de ofender ni desmoralizar, práctica más, busca info de manejo de errores y trata de simplificar, en todo caso plantea dudas, hay muchos que saben y mientras no esperes todo hecho ni sea algo que pueda ser malicioso, seguro te ayudarán.

Claro,obvio que lo probé.Y lo de "Esperar" es por que quería reanimar otro proyecto.Que tenia en PSeint
este
Funcion Otromenu2 <- Otromenu22 (Otromenu222)
Escribir '**************************'
Escribir '1:Menu Cálculo           *'
Escribir '2:Jogo adivinhar o numbe *'
Escribir '3:Ta Te Ti               *'
Escribir '4:Hanoi                  *'
Escribir '**************************'
Leer Menu2
Segun Menu2  Hacer
1:
Escribir CALCULOPORTU(CONVERPORTU)
2:
intentos <- 10
num_secreto <- azar(100)+1
Escribir 'Adivinha o número (de 1 a 100):'
Leer num_ingresado
Mientras num_secreto<>num_ingresado Y intentos>1 Hacer
Si num_secreto>num_ingresado Entonces
Escribir 'Muito baixo'
SiNo
Escribir 'Muito alto'
FinSi
intentos <- intentos-1
Escribir 'Ele saiu ',intentos,' Tentativas:'
Leer num_ingresado
FinMientras
Si num_secreto=num_ingresado Entonces
Escribir 'Exato! Você adivinha em ',11-intentos,' Tentativas.'
SiNo
Escribir 'O número era: ',num_secreto
FinSi
3:
Dimension Tab1[3,3]
Dimension Tab2[3,3]
Para i<-1 Hasta 3 Hacer
Para j<-1 Hasta 3 Hacer
Tab1[i,j]<-0
Tab2[i,j]<-' '
FinPara
FinPara
TurnoJugador1 <- verdadero
Terminado <- Falso
Ganador <- Falso
CantTurnos <- 0
Mientras  NO Terminado Hacer
Borrar Pantalla
Escribir ' '
Escribir '      ||     ||     '
Escribir '   ',Tab2[1,1],'  ||  ',Tab2[1,2],'  ||  ',Tab2[1,3]
Escribir '     1||    2||    3'
Escribir ' =====++=====++======'
Escribir '      ||     ||     '
Escribir '   ',Tab2[2,1],'  ||  ',Tab2[2,2],'  ||  ',Tab2[2,3]
Escribir '     4||    5||    6'
Escribir ' =====++=====++======'
Escribir '      ||     ||     '
Escribir '   ',Tab2[3,1],'  ||  ',Tab2[3,2],'  ||  ',Tab2[3,3]
Escribir '     7||    8||    9'
Escribir ' '
Si  NO Ganador Y CantTurnos<9 Entonces
Si TurnoJugador1 Entonces
Ficha <- 'O'; Valor <- 1; Objetivo <- 1
Escribir 'A vez do jogador 1 (X)'
SiNo
Ficha <- 'X'; Valor <- 2; Objetivo <- 8
Escribir 'A vez do jogador 2 (O)'
FinSi
Escribir 'Digite a posição (1-9):'
Repetir
Leer Pos
Si Pos<1 O Pos>9 Entonces
Escribir 'Posição incorreta, entre novamente: '
Pos <- 99
SiNo
i <- trunc((Pos-1)/3)+1
j <- ((Pos-1) MOD 3)+1
Si Tab1[i,j]<>0 Entonces
Pos <- 99
Escribir 'Posição incorreta, entre novamente: '
FinSi
FinSi
Hasta Que Pos<>99
CantTurnos <- CantTurnos+1
Tab1[i,j]<-Valor
Tab2[i,j]<-Ficha
aux_d1 <- 1; aux_d2 <- 1
Para i<-1 Hasta 3 Hacer
aux_i <- 1; aux_j <- 1
aux_d1 <- aux_d1*Tab1[i,i]
aux_d2 <- aux_d2*Tab1[i,4-i]
Para j<-1 Hasta 3 Hacer
aux_i <- aux_i*Tab1[i,j]
aux_j <- aux_j*Tab1[j,i]
FinPara
Si aux_i=Objetivo O aux_j=Objetivo Entonces
Ganador <- verdadero
FinSi
FinPara
Si aux_d1=Objetivo O aux_d2=Objetivo Entonces
Ganador <- verdadero
SiNo
TurnoJugador1 <- NO TurnoJugador1
FinSi
SiNo
Si Ganador Entonces
Escribir 'Vencedor: '
Si TurnoJugador1 Entonces
Escribir 'Jogador 1!'
SiNo
Escribir 'Jogador 2!'
FinSi
SiNo
Escribir 'Draw!'
FinSi
Terminado <- verdadero
FinSi
FinMientras
4:
Dimension torres[3,10],cant_discos[3]
Escribir 'Ingrese el nro de discos (1-8):'
Leer discos
Mientras discos<1 O discos>8 Hacer
Escribir 'El numero de discos debe ser mayor a 0 y menor a 5:'
Leer discos
FinMientras
cant_discos[1] <- discos
cant_discos[2] <- 0
cant_discos[3] <- 0
Para i<-1 Hasta discos Hacer
torres[1,i]<-discos-i+1
FinPara
cant_movs <- 0
Mientras cant_discos[3]<>discos Hacer
Borrar Pantalla
Para i<-1 Hasta 3 Hacer
Escribir 'Torre ',i
Si cant_discos[i]=0 Entonces
Escribir ''
SiNo
Para j<-cant_discos[i] Hasta 1 Con Paso -1 Hacer
Segun torres[i,j]  Hacer
1:
Escribir '                   XX'
2:
Escribir '                 XXXXXX'
3:
Escribir '               XXXXXXXXXX'
4:
Escribir '             XXXXXXXXXXXXXX'
5:
Escribir '           XXXXXXXXXXXXXXXXXX'
6:
Escribir '         XXXXXXXXXXXXXXXXXXXXXX'
7:
Escribir '       XXXXXXXXXXXXXXXXXXXXXXXXXX'
8:
Escribir '     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
FinSegun
FinPara
FinSi
Escribir '   ----------------------------------'
Escribir ''
FinPara
Escribir 'Mover desde la torre: '
Leer t1
Escribir 'hacia la torre: '
Leer t2
Si t1<1 O t1>3 O t2<1 O t2>3 Entonces
Escribir 'Movimiento invalido'
Esperar Tecla
SiNo
Si cant_discos[t1]=0 Entonces
Escribir 'Movimiento invalido'
Esperar Tecla
SiNo
disco_a_mover <- torres[t1,cant_discos[t1]]
puede_mover <- verdadero
Si cant_discos[t2]<>0 Entonces
Si torres[t2,cant_discos[t2]]<disco_a_mover Entonces
puede_mover <- Falso
FinSi
FinSi
Si puede_mover Entonces
cant_movs <- cant_movs+1
cant_discos[t2] <- cant_discos[t2]+1
torres[t2,cant_discos[t2]]<-disco_a_mover
cant_discos[t1] <- cant_discos[t1]-1
SiNo
Escribir 'Movimiento invalido'
Esperar Tecla
FinSi
FinSi
FinSi
FinMientras
Borrar Pantalla
Escribir 'Juego finalizado en ',cant_movs,' movimientos!'
De Otro Modo:
Escribir 'Operação inválida'
FinSegun
FinFuncion
Funcion Otromenu1 <- Otromenu11 (Otromenu111)
Escribir '**************************'
Escribir '1:Calculation Menu       *'
Escribir '2:Game guess the number  *'
Escribir '3:Ta Te Ti               *'
Escribir '4:Hanoi                  *'
Escribir '**************************'
Leer Menu2
Segun Menu2  Hacer
1:
Escribir CALCULOINGLES(CONVERINGLES)
2:
intentos <- 10
num_secreto <- azar(100)+1
Escribir 'Guess the number (from 1 to 100):'
Leer num_ingresado
Mientras num_secreto<>num_ingresado Y intentos>1 Hacer
Si num_secreto>num_ingresado Entonces
Escribir 'Very low'
SiNo
Escribir 'Very high'
FinSi
intentos <- intentos-1
Escribir 'He has left ',intentos,' Attempts:'
Leer num_ingresado
FinMientras
Si num_secreto=num_ingresado Entonces
Escribir 'Exact! You guess in ',11-intentos,' Attempts.'
SiNo
Escribir 'The number was: ',num_secreto
FinSi
3:
Dimension Tab1[3,3]
Dimension Tab2[3,3]
Para i<-1 Hasta 3 Hacer
Para j<-1 Hasta 3 Hacer
Tab1[i,j]<-0
Tab2[i,j]<-' '
FinPara
FinPara
TurnoJugador1 <- verdadero
Terminado <- Falso
Ganador <- Falso
CantTurnos <- 0
Mientras  NO Terminado Hacer
Borrar Pantalla
Escribir ' '
Escribir '      ||     ||     '
Escribir '   ',Tab2[1,1],'  ||  ',Tab2[1,2],'  ||  ',Tab2[1,3]
Escribir '     1||    2||    3'
Escribir ' =====++=====++======'
Escribir '      ||     ||     '
Escribir '   ',Tab2[2,1],'  ||  ',Tab2[2,2],'  ||  ',Tab2[2,3]
Escribir '     4||    5||    6'
Escribir ' =====++=====++======'
Escribir '      ||     ||     '
Escribir '   ',Tab2[3,1],'  ||  ',Tab2[3,2],'  ||  ',Tab2[3,3]
Escribir '     7||    8||    9'
Escribir ' '
Si  NO Ganador Y CantTurnos<9 Entonces
Si TurnoJugador1 Entonces
Ficha <- 'O'; Valor <- 1; Objetivo <- 1
Escribir 'Players turn 1 (X)'
SiNo
Ficha <- 'X'; Valor <- 2; Objetivo <- 8
Escribir 'Players turn 2 (O)'
FinSi
Escribir 'Enter the Position (1-9):'
Repetir
Leer Pos
Si Pos<1 O Pos>9 Entonces
Escribir 'Incorrect position, enter again: '
Pos <- 99
SiNo
i <- trunc((Pos-1)/3)+1
j <- ((Pos-1) MOD 3)+1
Si Tab1[i,j]<>0 Entonces
Pos <- 99
Escribir 'Incorrect position, enter again: '
FinSi
FinSi
Hasta Que Pos<>99
CantTurnos <- CantTurnos+1
Tab1[i,j]<-Valor
Tab2[i,j]<-Ficha
aux_d1 <- 1; aux_d2 <- 1
Para i<-1 Hasta 3 Hacer
aux_i <- 1; aux_j <- 1
aux_d1 <- aux_d1*Tab1[i,i]
aux_d2 <- aux_d2*Tab1[i,4-i]
Para j<-1 Hasta 3 Hacer
aux_i <- aux_i*Tab1[i,j]
aux_j <- aux_j*Tab1[j,i]
FinPara
Si aux_i=Objetivo O aux_j=Objetivo Entonces
Ganador <- verdadero
FinSi
FinPara
Si aux_d1=Objetivo O aux_d2=Objetivo Entonces
Ganador <- verdadero
SiNo
TurnoJugador1 <- NO TurnoJugador1
FinSi
SiNo
Si Ganador Entonces
Escribir 'Winner: '
Si TurnoJugador1 Entonces
Escribir 'Player 1!'
SiNo
Escribir 'Player 2!'
FinSi
SiNo
Escribir 'Tie!'
FinSi
Terminado <- verdadero
FinSi
FinMientras
4:
Dimension torres[3,10],cant_discos[3]
Escribir 'Enter the number of disks (1-8):'
Leer discos
Mientras discos<1 O discos>8 Hacer
Escribir 'The number of discs must be greater than 0 and less than 5:'
Leer discos
FinMientras
cant_discos[1] <- discos
cant_discos[2] <- 0
cant_discos[3] <- 0
Para i<-1 Hasta discos Hacer
torres[1,i]<-discos-i+1
FinPara
cant_movs <- 0
Mientras cant_discos[3]<>discos Hacer
Borrar Pantalla
Para i<-1 Hasta 3 Hacer
Escribir 'Tower ',i
Si cant_discos[i]=0 Entonces
Escribir ''
SiNo
Para j<-cant_discos[i] Hasta 1 Con Paso -1 Hacer
Segun torres[i,j]  Hacer
1:
Escribir '                   XX'
2:
Escribir '                 XXXXXX'
3:
Escribir '               XXXXXXXXXX'
4:
Escribir '             XXXXXXXXXXXXXX'
5:
Escribir '           XXXXXXXXXXXXXXXXXX'
6:
Escribir '         XXXXXXXXXXXXXXXXXXXXXX'
7:
Escribir '       XXXXXXXXXXXXXXXXXXXXXXXXXX'
8:
Escribir '     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
FinSegun
FinPara
FinSi
Escribir '   ----------------------------------'
Escribir ''
FinPara
Escribir 'Move from the tower: '
Leer t1
Escribir 'towards the tower: '
Leer t2
Si t1<1 O t1>3 O t2<1 O t2>3 Entonces
Escribir 'Invalid movement'
Esperar Tecla
SiNo
Si cant_discos[t1]=0 Entonces
Escribir 'Invalid movement'
Esperar Tecla
SiNo
disco_a_mover <- torres[t1,cant_discos[t1]]
puede_mover <- verdadero
Si cant_discos[t2]<>0 Entonces
Si torres[t2,cant_discos[t2]]<disco_a_mover Entonces
puede_mover <- Falso
FinSi
FinSi
Si puede_mover Entonces
cant_movs <- cant_movs+1
cant_discos[t2] <- cant_discos[t2]+1
torres[t2,cant_discos[t2]]<-disco_a_mover
cant_discos[t1] <- cant_discos[t1]-1
SiNo
Escribir 'Invalid movement'
Esperar Tecla
FinSi
FinSi
FinSi
FinMientras
Borrar Pantalla
Escribir 'Game over in ',cant_movs,' movements!'
De Otro Modo:
Escribir 'Invalid operation'
FinSegun
FinFuncion

Funcion MENUDECALCULOPORTU <- CALCULOPORTU (CONVERPORTU)
Repetir
Escribir '*************************'
Escribir '*   MENU DE CÁLCULO     *'
Escribir '*************************'
Escribir '*1:Vá de MB para KB     *'
Escribir '*2:Vá de KB para MB     *'
Escribir '*3:Vá de MB para GB     *'
Escribir '*4:Menu inicial         *'
Escribir '*Escolha uma opção (1-4)*'
Escribir '*************************'
Leer Menu_de_calculoIngles
Segun Menu_de_calculoIngles  Hacer
1:
Repetir
Escribir 'Digite o valor que deseja converter de MB para KB'
Leer MBAKB
respultado <- MBAKB*1024
Borrar Pantalla
Escribir 'a quantidade é KB ',respultado
Escribir 'Repetir?'
Escribir '1:sim'
Escribir '2:Não'
Leer repetirMBAKB
Hasta Que repetirMBAKB=2
Escribir 'Pressione Enter para continuar'
Esperar Tecla
Borrar Pantalla
2:
Repetir
Escribir 'Digite o valor que você deseja transformar de KB para MB'
Leer KBAMB
respultado <- KBAMB/1024
Borrar Pantalla
Escribir 'a quantidade é MB ',respultado
Escribir 'Repetir?'
Escribir '1:sim'
Escribir '2:Não'
Leer repetirMBAKB1
Hasta Que repetirMBAKB1='2'
Escribir 'Pressione Enter para continuar'
Esperar Tecla
Borrar Pantalla
3:
Repetir
Escribir 'Digite o valor que você deseja transformar de MB para GB'
Leer MBAGB
respultado <- MBAGB/1024
Borrar Pantalla
Escribir 'a quantidade é GB ',respultado
Escribir 'Repetir?'
Escribir '1:sim'
Escribir '2:não'
Leer repetirMBAKB2
Hasta Que repetirMBAKB2='2'
Escribir 'Pressione Enter para continuar'
Esperar Tecla
Borrar Pantalla
4:
Escribir 'VOLTAR AO MENU INICIAL'
Borrar Pantalla
De Otro Modo:
Escribir 'OPERAÇÃO NÃO VÁLIDA'
FinSegun
Hasta Que Menu_de_calculo=4
FinFuncion

Funcion MENUDECALCULOINGLES <- CALCULOINGLES (CONVERINGLES)
Repetir
Escribir '************************'
Escribir '*   CALCULATION MENU   *'
Escribir '************************'
Escribir '*1:Go from MB to KB    *'
Escribir '*2:Move from KB to MB  *'
Escribir '*3:Go from MB to GB    *'
Escribir '*4:Initial menu        *'
Escribir '*Choose an option (1-4)*'
Escribir '************************'
Leer Menu_de_calculo
Segun Menu_de_calculo  Hacer
1:
Repetir
Escribir 'Enter amount you want to convert from MB to KB'
Leer MBAKB
respultado <- MBAKB*1024
Borrar Pantalla
Escribir 'the amount is KB ',respultado
Escribir 'To repeat?'
Escribir '1:Yes'
Escribir '2:No'
Leer repetirMBAKB
Hasta Que repetirMBAKB=2
Escribir 'Press enter to continue'
Esperar Tecla
Borrar Pantalla
2:
Repetir
Escribir 'Enter amount you want to transform from KB to MB'
Leer KBAMB
respultado <- KBAMB/1024
Borrar Pantalla
Escribir 'the amount is MB ',respultado
Escribir 'To repeat?'
Escribir '1:Yes'
Escribir '2:no'
Leer repetirMBAKB1
Hasta Que repetirMBAKB1='2'
Escribir 'Press enter to continue'
Esperar Tecla
Borrar Pantalla
3:
Repetir
Escribir 'Enter amount you want to transform from MB to GB'
Leer MBAGB
respultado <- MBAGB/1024
Borrar Pantalla
Escribir 'the amount is GB ',respultado
Escribir 'To repeat?'
Escribir '1:Yes'
Escribir '2:no'
Leer repetirMBAKB2
Hasta Que repetirMBAKB2='2'
Escribir 'Press enter to continue'
Esperar Tecla
Borrar Pantalla
4:
Escribir 'BACK TO THE INITIAL MENU'
Borrar Pantalla
De Otro Modo:
Escribir 'OPERATION NOT VALID'
FinSegun
Hasta Que Menu_de_calculo=4
FinFuncion

Funcion MENUDECALCULO <- CALULO (CONVER)
Repetir
Escribir '************************'
Escribir '*   MENU DE CALCULO    *'
Escribir '************************'
Escribir '*1:Pasar de MB a KB    *'
Escribir '*2:Pasar de KB a MB    *'
Escribir '*3:Pasar de MB a GB    *'
Escribir '*4:Menu inicial        *'
Escribir '*Elija una opción (1-4)*'
Escribir '************************'
Leer Menu_de_calculo
Segun Menu_de_calculo  Hacer
1:
Repetir
Escribir 'Ingrese cantidad que desea transformar de MB a KB'
Leer MBAKB
respultado <- MBAKB*1024
Borrar Pantalla
Escribir 'la cantidad es de KB ',respultado
Escribir 'Volver a repetir?'
Escribir '1:si'
Escribir '2:no'
Leer repetirMBAKB
Hasta Que repetirMBAKB=2
Escribir 'Presione enter para continuar'
Esperar Tecla
Borrar Pantalla
2:
Repetir
Escribir 'Ingrese cantidad que desea transformar de KB a MB'
Leer KBAMB
respultado <- KBAMB/1024
Borrar Pantalla
Escribir 'la cantidad es de MB ',respultado
Escribir 'Volver a repetir?'
Escribir '1:si'
Escribir '2:no'
Leer repetirMBAKB1
Hasta Que repetirMBAKB1='2'
Escribir 'Presione enter para continuar'
Esperar Tecla
Borrar Pantalla
3:
Repetir
Escribir 'Ingrese cantidad que desea transformar de MB a GB'
Leer MBAGB
respultado <- MBAGB/1024
Borrar Pantalla
Escribir 'la cantidad es de GB ',respultado
Escribir 'Volver a repetir?'
Escribir '1:si'
Escribir '2:no'
Leer repetirMBAKB2
Hasta Que repetirMBAKB2='2'
Escribir 'Presione enter para continuar'
Esperar Tecla
Borrar Pantalla
4:
Escribir 'VOLVIENDO AL MENU INICIAL'
Borrar Pantalla
De Otro Modo:
Escribir 'OPERACION NO VALIDA'
FinSegun
Hasta Que Menu_de_calculo=4
FinFuncion

Funcion funciondeenter <- funcionX2 (limpiarpantallax2)
Escribir 'Presione enter'
Esperar Tecla
Borrar Pantalla
FinFuncion

Funcion esperarFun2 <- fun2 (anim)
Esperar 1 Segundos
Escribir '.'
Esperar 1 Segundos
Escribir '.'
Esperar 1 Segundos
Escribir '.'
FinFuncion

Algoritmo proyecto_FF1_V2
Escribir '************************'
Escribir '*         MENU         *'
Escribir '************************'
Escribir '*1:Español             *'
Escribir '*2:Ingles              *'
Escribir '*3:portugués           *'
Escribir '*4:Salir               *'
Escribir '*Elija una opción (1-4)*'
Escribir '************************'
Leer idioma
Borrar Pantalla
Segun idioma  Hacer
1:
Repetir
Escribir '************************'
Escribir '*         MENU         *'
Escribir '************************'
Escribir '*1:Iniciar program     *'
Escribir '*2:Registrarse         *'
Escribir '*3:Olvido sus datos?   *'
Escribir '*4:Salir               *'
Escribir '*Elija una opción (1-4)*'
Escribir '************************'
Leer OP
Borrar Pantalla
Segun OP  Hacer
1:
Escribir 'Ingrese su usuario'
Leer usuario45
Si usuario10=usuario45 Entonces
Escribir 'Escriba su usuario'
Leer usuariodeinicodeseion
Borrar Pantalla
Escribir 'Que tipo de seguridad tiene su cuenta?'
Escribir '1:Contraseña'
Escribir '2:Pin'
Escribir 'Elija una opción (1-2):'
Leer OP4
Segun OP4  Hacer
1:
Escribir 'Ingrese su contraseña'
Leer contraseña3
Borrar Pantalla
Si usuariodeinicodeseion=usuario20 Entonces
Escribir '**************************'
Escribir '1:Menu de calculo        *'
Escribir '2:Juego adivina el numero*'
Escribir '3:Ta Te Ti               *'
Escribir '4:Hanoi                  *'
Escribir '**************************'
Leer Menu2
Segun Menu2  Hacer
1:
Escribir CALULO(CONVER)
2:
intentos <- 10
num_secreto <- azar(100)+1
Escribir 'Adivine el numero (de 1 a 100):'
Leer num_ingresado
Mientras num_secreto<>num_ingresado Y intentos>1 Hacer
Si num_secreto>num_ingresado Entonces
Escribir 'Muy bajo'
SiNo
Escribir 'Muy alto'
FinSi
intentos <- intentos-1
Escribir 'Le quedan ',intentos,' intentos:'
Leer num_ingresado
FinMientras
Si num_secreto=num_ingresado Entonces
Escribir 'Exacto! Usted adivino en ',11-intentos,' intentos.'
SiNo
Escribir 'El numero era: ',num_secreto
FinSi
3:
Dimension Tab1[3,3]
Dimension Tab2[3,3]
Para i<-1 Hasta 3 Hacer
Para j<-1 Hasta 3 Hacer
Tab1[i,j]<-0
Tab2[i,j]<-' '
FinPara
FinPara
TurnoJugador1 <- verdadero
Terminado <- Falso
Ganador <- Falso
CantTurnos <- 0
Mientras  NO Terminado Hacer
Borrar Pantalla
Escribir ' '
Escribir '      ||     ||     '
Escribir '   ',Tab2[1,1],'  ||  ',Tab2[1,2],'  ||  ',Tab2[1,3]
Escribir '     1||    2||    3'
Escribir ' =====++=====++======'
Escribir '      ||     ||     '
Escribir '   ',Tab2[2,1],'  ||  ',Tab2[2,2],'  ||  ',Tab2[2,3]
Escribir '     4||    5||    6'
Escribir ' =====++=====++======'
Escribir '      ||     ||     '
Escribir '   ',Tab2[3,1],'  ||  ',Tab2[3,2],'  ||  ',Tab2[3,3]
Escribir '     7||    8||    9'
Escribir ' '
Si  NO Ganador Y CantTurnos<9 Entonces
Si TurnoJugador1 Entonces
Ficha <- 'O'; Valor <- 1; Objetivo <- 1
Escribir 'Turno del jugador 1 (X)'
SiNo
Ficha <- 'X'; Valor <- 2; Objetivo <- 8
Escribir 'Turno del jugador 2 (O)'
FinSi
Escribir 'Ingrese la Posición (1-9):'
Repetir
Leer Pos
Si Pos<1 O Pos>9 Entonces
Escribir 'Posición incorrecta, ingrese nuevamente: '
Pos <- 99
SiNo
i <- trunc((Pos-1)/3)+1
j <- ((Pos-1) MOD 3)+1
Si Tab1[i,j]<>0 Entonces
Pos <- 99
Escribir 'Posición incorrecta, ingrese nuevamente: '
FinSi
FinSi
Hasta Que Pos<>99
CantTurnos <- CantTurnos+1
Tab1[i,j]<-Valor
Tab2[i,j]<-Ficha
aux_d1 <- 1; aux_d2 <- 1
Para i<-1 Hasta 3 Hacer
aux_i <- 1; aux_j <- 1
aux_d1 <- aux_d1*Tab1[i,i]
aux_d2 <- aux_d2*Tab1[i,4-i]
Para j<-1 Hasta 3 Hacer
aux_i <- aux_i*Tab1[i,j]
aux_j <- aux_j*Tab1[j,i]
FinPara
Si aux_i=Objetivo O aux_j=Objetivo Entonces
Ganador <- verdadero
FinSi
FinPara
Si aux_d1=Objetivo O aux_d2=Objetivo Entonces
Ganador <- verdadero
SiNo
TurnoJugador1 <- NO TurnoJugador1
FinSi
SiNo
Si Ganador Entonces
Escribir 'Ganador: '
Si TurnoJugador1 Entonces
Escribir 'Jugador 1!'
SiNo
Escribir 'Jugador 2!'
FinSi
SiNo
Escribir 'Empate!'
FinSi
Terminado <- verdadero
FinSi
FinMientras
4:
Dimension torres[3,10],cant_discos[3]
Escribir 'Digite o número de discos (1-8):'
Leer discos
Mientras discos<1 O discos>8 Hacer
Escribir 'número de discos deve ser maior que 0 e menor que 5:'
Leer discos
FinMientras
cant_discos[1] <- discos
cant_discos[2] <- 0
cant_discos[3] <- 0
Para i<-1 Hasta discos Hacer
torres[1,i]<-discos-i+1
FinPara
cant_movs <- 0
Mientras cant_discos[3]<>discos Hacer
Borrar Pantalla
Para i<-1 Hasta 3 Hacer
Escribir 'Torre',i
Si cant_discos[i]=0 Entonces
Escribir ''
SiNo
Para j<-cant_discos[i] Hasta 1 Con Paso -1 Hacer
Segun torres[i,j]  Hacer
1:
Escribir '                   XX'
2:
Escribir '                 XXXXXX'
3:
Escribir '               XXXXXXXXXX'
4:
Escribir '             XXXXXXXXXXXXXX'
5:
Escribir '           XXXXXXXXXXXXXXXXXX'
6:
Escribir '         XXXXXXXXXXXXXXXXXXXXXX'
7:
Escribir '       XXXXXXXXXXXXXXXXXXXXXXXXXX'
8:
Escribir '     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
FinSegun
FinPara
FinSi
Escribir '   ----------------------------------'
Escribir ''
FinPara
Escribir 'Mover-se da torre: '
Leer t1
Escribir 'em direção à torre: '
Leer t2
Si t1<1 O t1>3 O t2<1 O t2>3 Entonces
Escribir 'Movimento inválido'
Esperar Tecla
SiNo
Si cant_discos[t1]=0 Entonces
Escribir 'Movimento inválido'
Esperar Tecla
SiNo
disco_a_mover <- torres[t1,cant_discos[t1]]
puede_mover <- verdadero
Si cant_discos[t2]<>0 Entonces
Si torres[t2,cant_discos[t2]]<disco_a_mover Entonces
puede_mover <- Falso
FinSi
FinSi
Si puede_mover Entonces
cant_movs <- cant_movs+1
cant_discos[t2] <- cant_discos[t2]+1
torres[t2,cant_discos[t2]]<-disco_a_mover
cant_discos[t1] <- cant_discos[t1]-1
SiNo
Escribir 'Movimento inválido'
Esperar Tecla
FinSi
FinSi
FinSi
FinMientras
Borrar Pantalla
Escribir 'Game over in ',cant_movs,' movements!'
De Otro Modo:
Escribir 'Operacion no valida'
FinSegun
SiNo
Escribir 'Contraseña incorrecta'
FinSi
2:
Escribir 'Ingrese su pin'
Leer pin3
Si usuariodeinicodeseion=usuario20 Entonces
Si pin1=pin3 Entonces
Escribir '**************************'
Escribir '1:Menu de calculo        *'
Escribir '2:Juego adivina el numero*'
Escribir '**************************'
Leer Menu2
Segun Menu2  Hacer
1:
Escribir CALULO(CONVER)
2:
intentos <- 10
num_secreto <- azar(100)+1
Escribir 'Adivine el numero (de 1 a 100):'
Leer num_ingresado
Mientras num_secreto<>num_ingresado Y intentos>1 Hacer
Si num_secreto>num_ingresado Entonces
Escribir 'Muy bajo'
SiNo
Escribir 'Muy alto'
FinSi
intentos <- intentos-1
Escribir 'Le quedan ',intentos,' intentos:'
Leer num_ingresado
FinMientras
Si num_secreto=num_ingresado Entonces
Escribir 'Exacto! Usted adivino en ',11-intentos,' intentos.'
SiNo
Escribir 'El numero era: ',num_secreto
FinSi
De Otro Modo:
Escribir 'Operacion no valida'
FinSegun
SiNo
Escribir 'Contraseña incorrecta'
FinSi
SiNo
Escribir 'Pin incorrecto'
Escribir funcionX2(limpiarpantallax2)
FinSi
De Otro Modo:
Escribir 'Operacion no valida'
Escribir funcionX2(limpiarpantallax2)
FinSegun
SiNo
Escribir 'No hay un usuario!'
Escribir funcionX2(limpiarpantallax2)
FinSi
2:
Escribir '************************'
Escribir '*      Registrarte     *'
Escribir '************************'
Repetir
Escribir 'ingrese un usuario'
Leer usuario10
Escribir 'repita su usuario'
Leer usuario20
Borrar Pantalla
Si usuario10=usuario20 Entonces
Escribir '*****************************'
Escribir '*que tipo de seguridad desea*'
Escribir '*****************************'
Escribir '1:contraseña'
Escribir '2:pin'
Leer OP2
Segun OP2  Hacer
1:
Repetir
Escribir 'ingrese una contraseña'
Leer contraseña1
Escribir 'repita la contraseña'
Leer contraseña2
Borrar Pantalla
Si contraseña1=contraseña2 Entonces
Escribir 'usuario creado correctamente'
Escribir funcionX2(limpiarpantallax2)
SiNo
Si contraseña1<>contraseña2 Entonces
Escribir '********************************'
Escribir '*vuelva a repetir la contraseña*'
Escribir '********************************'
FinSi
FinSi
Hasta Que contraseña1=contraseña2
2:
Borrar Pantalla
Repetir
Escribir 'ingrese un pin'
Leer pin1
Escribir 'repita el pin'
Leer pin2
Si pin1=pin2 Entonces
Escribir 'usuario creado correctamente'
Escribir funcionX2(limpiarpantallax2)
SiNo
Si pin1<>pin2 Entonces
Borrar Pantalla
Escribir '*************************'
Escribir '*vuelva a repetir el pin*'
Escribir '*************************'
FinSi
FinSi
Hasta Que pin1=pin2
De Otro Modo:
Escribir funcionX2(limpiarpantallax2)
FinSegun
SiNo
Si usuario10<>usuario20 Entonces
Escribir '*****************************'
Escribir '*vuelva a repetir el usuario*'
Escribir '*****************************'
FinSi
FinSi
Hasta Que usuario10=usuario20
3:
Escribir 'seguro que es usted?'
Escribir 'ingrese su usuario'
Leer usuario10
Si usuario10=usuario20 Entonces
Borrar Pantalla
Repetir
Escribir 'Ok bienvenido '
Escribir 'que quiere saber?'
Escribir '1:mi nombre de usuario'
Escribir '2:mi contraseña '
Escribir '3:mi pin'
Escribir '4:volver al menu principal'
Leer seguridad
Borrar Pantalla
Segun seguridad  Hacer
1:
Escribir 'su nombre de usuario es ',usuario10
Escribir funcionX2(limpiarpantallax2)
2:
Escribir 'su contraseña es ',contraseña1
Escribir funcionX2(limpiarpantallax2)
3:
Escribir 'su pin es ',pin1
Escribir funcionX2(limpiarpantallax2)
4:
Escribir funcionX2(limpiarpantallax2)
De Otro Modo:
Escribir 'operacion no valida'
Escribir funcionX2(limpiarpantallax2)
FinSegun
Hasta Que seguridad=4
FinSi
Si usuario10<>usuario20 Entonces
Escribir 'Usuario incorrecto'
Escribir fun2(anim)
Escribir funcionX2(limpiarpantallax2)
FinSi
4:
Escribir 'Vuelva pronto'
De Otro Modo:
Escribir 'Operacion no valida'
Escribir funcionX2(limpiarpantallax2)
FinSegun
Hasta Que OP=4
2:
Escribir funcionX2(limpiarpantallax2)
Repetir
Escribir '************************'
Escribir '*         MENU         *'
Escribir '************************'
Escribir '*1:Startup program     *'
Escribir '*2:Register            *'
Escribir '*3:Forgot your data?   *'
Escribir '*4:Exit                *'
Escribir '*Choose an option (1-4)*'
Escribir '************************'
Leer OP
Borrar Pantalla
Segun OP  Hacer
1:
Escribir 'Enter your username'
Leer usuario45
Si usuario10=usuario45 Entonces
Escribir 'Enter your username'
Leer usuariodeinicodeseion
Borrar Pantalla
Escribir 'What kind of security does your account have?'
Escribir '1:Password'
Escribir '2:Pin'
Escribir 'Choose an option (1-2):'
Leer OP4
Segun OP4  Hacer
1:
Escribir 'Enter your password'
Leer contraseña3
Borrar Pantalla
Si usuariodeinicodeseion=usuario20 Entonces
Si contraseña1=contraseña3 Entonces
Escribir Otromenu11(Otromenu111)
SiNo
Escribir 'Incorrect password'
FinSi
FinSi
2:
Escribir 'Enter your pin'
Leer pin3
Si usuariodeinicodeseion=usuario20 Entonces
Si pin1=pin3 Entonces
Borrar Pantalla
Escribir 'Starting program'
Escribir fun2(anim)
Escribir funcionX2(limpiarpantallax2)
Escribir CALULO(CONVER)
SiNo
Escribir 'Wrong pin'
Escribir funcionX2(limpiarpantallax2)
FinSi
FinSi
De Otro Modo:
Escribir 'Invalid operation'
Escribir funcionX2(limpiarpantallax2)
FinSegun
SiNo
Escribir 'There is no user!'
Escribir funcionX2(limpiarpantallax2)
FinSi
2:
Escribir '************************'
Escribir '*      Register        *'
Escribir '************************'
Repetir
Escribir 'Enter a user'
Leer usuario10
Escribir 'Repeat your username'
Leer usuario20
Borrar Pantalla
Si usuario10=usuario20 Entonces
Escribir '***********************************'
Escribir '*what kind of security do you want*'
Escribir '***********************************'
Escribir '1:password'
Escribir '2:pin'
Leer OP2
Segun OP2  Hacer
1:
Repetir
Escribir 'Enter a password'
Leer contraseña1
Escribir 'Repeat password'
Leer contraseña2
Borrar Pantalla
Si contraseña1=contraseña2 Entonces
Escribir 'User created successfully'
Escribir funcionX2(limpiarpantallax2)
SiNo
Si contraseña1<>contraseña2 Entonces
Escribir '*****************'
Escribir '*repeat password*'
Escribir '*****************'
FinSi
FinSi
Hasta Que contraseña1=contraseña2
2:
Borrar Pantalla
Repetir
Escribir 'enter a pin'
Leer pin1
Escribir 'repeat the pin'
Leer pin2
Si pin1=pin2 Entonces
Escribir 'User created successfully'
Escribir funcionX2(limpiarpantallax2)
SiNo
Si pin1<>pin2 Entonces
Borrar Pantalla
Escribir '****************'
Escribir '*Repeat the pin*'
Escribir '****************'
FinSi
FinSi
Hasta Que pin1=pin2
De Otro Modo:
Escribir funcionX2(limpiarpantallax2)
FinSegun
SiNo
Si usuario10<>usuario20 Entonces
Escribir '*****************'
Escribir '*Repeat the user*'
Escribir '*****************'
FinSi
FinSi
Hasta Que usuario10=usuario20
3:
Escribir 'Sure you are?'
Escribir 'enter your username'
Leer usuario10
Si usuario10=usuario20 Entonces
Borrar Pantalla
Repetir
Escribir 'Ok bienvenido'
Escribir 'What do you want know?'
Escribir '1:My username'
Escribir '2:My password'
Escribir '3:My pin'
Escribir '4:Back to Main Menu'
Leer seguridad
Borrar Pantalla
Segun seguridad  Hacer
1:
Escribir 'Your username is ',usuario10
Escribir funcionX2(limpiarpantallax2)
2:
Escribir 'Your password is ',contraseña1
Escribir funcionX2(limpiarpantallax2)
3:
Escribir 'His pin is ',pin1
Escribir funcionX2(limpiarpantallax2)
4:
Escribir funcionX2(limpiarpantallax2)
De Otro Modo:
Escribir 'Invalid operation'
Escribir funcionX2(limpiarpantallax2)
FinSegun
Hasta Que seguridad=4
FinSi
Si usuario10<>usuario20 Entonces
Escribir 'Wrong user'
Escribir fun2(anim)
Escribir funcionX2(limpiarpantallax2)
FinSi
4:
Escribir 'Come back soon'
De Otro Modo:
Escribir 'Invalid operation'
Escribir funcionX2(limpiarpantallax2)
FinSegun
Hasta Que OP=4
3:
Escribir funcionX2(limpiarpantallax2)
Repetir
Escribir '*****************************'
Escribir '*         MENU              *'
Escribir '*****************************'
Escribir '*1:Programa de inicialização*'
Escribir '*2:Registre-se              *'
Escribir '*3:Esqueceu seus dados?     *'
Escribir '*4:Sair                     *'
Escribir '*Escolha uma opção (1-4)    *'
Escribir '*****************************'
Leer OP
Borrar Pantalla
Segun OP  Hacer
1:
Escribir 'Digite seu nome de usuário'
Leer usuario45
Si usuario10=usuario45 Entonces
Escribir 'Enter your username'
Leer usuariodeinicodeseion
Borrar Pantalla
Escribir 'Que tipo de segurança sua conta possui?'
Escribir '1:Senha'
Escribir '2:Pin'
Escribir 'Escolha uma opção (1-2):'
Leer OP4
Segun OP4  Hacer
1:
Escribir 'Enter your password'
Leer contraseña3
Borrar Pantalla
Si usuariodeinicodeseion=usuario20 Entonces
Si contraseña1=contraseña3 Entonces
Escribir Otromenu22(Otromenu222)
SiNo
Escribir 'Senha incorreta'
FinSi
FinSi
2:
Escribir 'Digite seu pin'
Leer pin3
Si usuariodeinicodeseion=usuario20 Entonces
Si pin1=pin3 Entonces
Escribir Otromenu22(Otromenu222)
SiNo
Escribir 'Pino errado'
Escribir funcionX2(limpiarpantallax2)
FinSi
FinSi
De Otro Modo:
Escribir 'Operação inválida'
Escribir funcionX2(limpiarpantallax2)
FinSegun
SiNo
Escribir 'Não há usuário!'
Escribir funcionX2(limpiarpantallax2)
FinSi
2:
Escribir '************************'
Escribir '*      registo         *'
Escribir '************************'
Repetir
Escribir 'Digite um usuário'
Leer usuario10
Escribir 'Repita seu nome de usuário'
Leer usuario20
Borrar Pantalla
Si usuario10=usuario20 Entonces
Escribir '***********************************'
Escribir '*que tipo de segurança você quer  *'
Escribir '***********************************'
Escribir '1:senha'
Escribir '2:pin'
Leer OP2
Segun OP2  Hacer
1:
Repetir
Escribir 'insira uma senha'
Leer contraseña1
Escribir 'repita a senha'
Leer contraseña2
Borrar Pantalla
Si contraseña1=contraseña2 Entonces
Escribir 'Usuário criado com sucesso'
Escribir funcionX2(limpiarpantallax2)
SiNo
Si contraseña1<>contraseña2 Entonces
Escribir '*****************'
Escribir '*Repita a senha *'
Escribir '*****************'
FinSi
FinSi
Hasta Que contraseña1=contraseña2
2:
Borrar Pantalla
Repetir
Escribir 'enter a pin'
Leer pin1
Escribir 'repeat the pin'
Leer pin2
Si pin1=pin2 Entonces
Escribir 'Usuário criado com sucesso'
Escribir funcionX2(limpiarpantallax2)
SiNo
Si pin1<>pin2 Entonces
Borrar Pantalla
Escribir '****************'
Escribir '*Repita o pin  *'
Escribir '****************'
FinSi
FinSi
Hasta Que pin1=pin2
De Otro Modo:
Escribir funcionX2(limpiarpantallax2)
FinSegun
SiNo
Si usuario10<>usuario20 Entonces
Escribir '******************'
Escribir '*Repita o usuário*'
Escribir '******************'
FinSi
FinSi
Hasta Que usuario10=usuario20
3:
Escribir 'Com certeza você é?'
Escribir 'entre com seu nome de usuário'
Leer usuario10
Si usuario10=usuario20 Entonces
Borrar Pantalla
Repetir
Escribir 'Ok bem vindo '
Escribir 'O que você quer saber?'
Escribir '1:Meu nome de usuário'
Escribir '2:Minha senha'
Escribir '3:Meu pin'
Escribir '4:Voltar ao menu principal'
Leer seguridad
Borrar Pantalla
Segun seguridad  Hacer
1:
Escribir 'Seu nome de usuário é ',usuario10
Escribir funcionX2(limpiarpantallax2)
2:
Escribir 'Sua senha é ',contraseña1
Escribir funcionX2(limpiarpantallax2)
3:
Escribir 'O pino dele é ',pin1
Escribir funcionX2(limpiarpantallax2)
4:
Escribir funcionX2(limpiarpantallax2)
De Otro Modo:
Escribir 'Operação inválida'
Escribir funcionX2(limpiarpantallax2)
FinSegun
Hasta Que seguridad=4
FinSi
Si usuario10<>usuario20 Entonces
Escribir 'Usuário errado'
Escribir fun2(anim)
Escribir funcionX2(limpiarpantallax2)
FinSi
4:
Escribir 'Volte logo'
De Otro Modo:
Escribir 'Operação inválida'
Escribir funcionX2(limpiarpantallax2)
FinSegun
Hasta Que OP=4
De Otro Modo:
Escribir 'Invalid operation'
Escribir 'Operacion invalida'
Escribir 'Operação inválida'
FinSegun
FinAlgoritmo


pd:Por el tema de mi ortografía sufro de dislexia desde los 8 ;).
Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.

assw1208

Hola, lo 1º es que estoy de acuerdo con el de arriba en numerosas cosas (principalmente en lo del código redundante).
2º Si llevas solo dos semanas estudiando y ya has conseguido sacar este proyecto tu solo desde cero, sin duda has aprovechado bastante bien el tiempo en mi opinión. ;-) ;-)
4º Por lo de la dislexia no te preocupes, te recomiendo usar el traductor de google o word para corregir las faltas a grosso modo, te lo recomiendo porque personalmente también tuve ciertos problemas parecidos y me fue muy bien.
5º Este código lo hice hace bastante tiempo, es más corto y es para una contraseña y usuario predefinido con un limite de tres intentos.


contador =

usuario = input("introduzca el nombe de usuario:")
Contraseña2 = input("introduzca la contraseña:")


while contador != 3:
    if usuario == "root":
        pass
    if Contraseña2 == "toor":
        print("bienvenido")
        break
    if usuario != "root":
        contador = contador + 1
        print("quedan " + str(int(contador)) + " intentos")
        break
"COURAGE TODAY,
                              VICTORY TOMORROW "

                            ----------------W--------------

Panic0

Cita de: assw1208 en 26 Agosto 2020, 19:15 PM
Hola, lo 1º es que estoy de acuerdo con el de arriba en numerosas cosas (principalmente en lo del código redundante).
2º Si llevas solo dos semanas estudiando y ya has conseguido sacar este proyecto tu solo desde cero, sin duda has aprovechado bastante bien el tiempo en mi opinión. ;-) ;-)
4º Por lo de la dislexia no te preocupes, te recomiendo usar el traductor de google o word para corregir las faltas a grosso modo, te lo recomiendo porque personalmente también tuve ciertos problemas parecidos y me fue muy bien.
5º Este código lo hice hace bastante tiempo, es más corto y es para una contraseña y usuario predefinido con un limite de tres intentos.


contador =

usuario = input("introduzca el nombe de usuario:")
Contraseña2 = input("introduzca la contraseña:")


while contador != 3:
    if usuario == "root":
        pass
    if Contraseña2 == "toor":
        print("bienvenido")
        break
    if usuario != "root":
        contador = contador + 1
        print("quedan " + str(int(contador)) + " intentos")
        break


Hola tu código es muy bueno,hice una pequeña modificación.Que lo que hace es que te da 3 intentos y así.

No tengo idea si la forma en la que lo hice fue la correcta.Pero me sorprendió que lo pensé  y rápidamente logre hacerlo.
¿Que opinas?
contador  = 4
loop = True
user = input("introduzca el nombre de usuario:")
contra = input("introduzca la contraseña:")
while loop:
    if user == "root":
        if contra == "123":
            print("Bienvenido")
            break
    if user != "root":
        if contra != "123":
            contador = contador - 1
            print ("Quedan " + str(int(contador)) + " intentos!")
            user = input("Ingrese su usuario:")
            contra = input("Ingrese su contraseña:")
        if contador == 1:
            print("Saliendo...")
            break
Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.

tincopasan

Citar
No tengo idea si la forma en la que lo hice fue la correcta.Pero me sorprendió que lo pensé  y rápidamente logre hacerlo.
¿Que opinas?
Código:

contador  = 4
loop = True
user = input("introduzca el nombre de usuario:")
contra = input("introduzca la contraseña:")
while loop:
    if user == "root":
        if contra == "123":
            print("Bienvenido")
            break
    if user != "root":
        if contra != "123":
            contador = contador - 1
            print ("Quedan " + str(int(contador)) + " intentos!")
            user = input("Ingrese su usuario:")
            contra = input("Ingrese su contraseña:")
        if contador == 1:
            print("Saliendo...")
            break


evidentemente no evaluas las posibilidades
1) usuario = root  clave = 356  se queda colgado
2)usuario = jordan clave = 123 se queda colgado
estos son errores de lógica, hay que cambiarlos

además seguis usando variables innecesarias:
Código (python) [Seleccionar]
loop = True
si te fijas a la variable la usas únicamente para el bucle, y salís con break, para eso directamente:
Código (python) [Seleccionar]
while True:

esto si bien no es necesario cambiarlo ni es un error es escribir código al vicio.

hay más cosas a mejorar, pero bueno, estás comenzando.

Panic0

#6
Cita de: tincopasan en 27 Agosto 2020, 03:46 AM
evidentemente no evaluas las posibilidades
1) usuario = root  clave = 356  se queda colgado
2)usuario = jordan clave = 123 se queda colgado
estos son errores de lógica, hay que cambiarlos

además seguis usando variables innecesarias:
Código (python) [Seleccionar]
loop = True
si te fijas a la variable la usas únicamente para el bucle, y salís con break, para eso directamente:
Código (python) [Seleccionar]
while True:

esto si bien no es necesario cambiarlo ni es un error es escribir código al vicio.

hay más cosas a mejorar, pero bueno, estás comenzando.

Bien,errores en lógica y todo,Pero el programa funciona.
¿Que te parece ahora?
contador  = 4
user = input("introduzca el nombre de usuario:")
contra = input("introduzca la contraseña:")
while True:
    if user == "root":
        pass
    if contra == "123":
        print("Bienvenido")
        break
    if user != "root":
        if contra != "123":
            contador = contador - 1
            print ("Quedan " + str(int(contador)) + " intentos!")
            user = input("Ingrese su usuario:")
            contra = input("Ingrese su contraseña:")
        if contador == 1:
            print("Saliendo...")
            break
Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.

assw1208

Hola Panic0, tu código actual esta bastante mejor ;-) ;-), mucho mas compacto y legible que anteriormente, lo único "malo" que veo ahora en tu código ( siendo realmente quisquilloso por mi parte) es el tema de asignar un nombre como "contra", yo te recomendaría no usar estas contracciones, en mi caso hubiera optado por "contraseña" o como en tu caso pusiste "user" al usuario, hubiese puesto "password". Pero como ya digo esto ya es ser realmente quisquilloso, deberías estar realmente orgulloso de haber comprimido el pedazo tocho de código anterior y que el único errorcillo mas grave sea ese.

Por lo demás, me puse a hacer un código mas compacto aún hace 5 minutillos y me  salio esto, ojala te sirva de inspiración para este o futuros proyectos:

contador = 3

while contador != 0:
    usuario = input("Introduce el usuario:")
    if usuario == "root":
        contraseña = input("Introduce la contraseña:")
        if contraseña == "123":
            print("Bienvenido señor X")
            break
    else:
        contador -= 1
        print(" ERROR \n Quedan ", contador, "intentos.")


Si tienes cualquier duda de códigos en el futuro no dudes en mandarme un mensaje privado. Entre principiantes hay que ayudarnos  :laugh: :laugh:.
"COURAGE TODAY,
                              VICTORY TOMORROW "

                            ----------------W--------------

Panic0

Cita de: assw1208 en 27 Agosto 2020, 23:12 PM
Hola Panic0, tu código actual esta bastante mejor ;-) ;-), mucho mas compacto y legible que anteriormente, lo único "malo" que veo ahora en tu código ( siendo realmente quisquilloso por mi parte) es el tema de asignar un nombre como "contra", yo te recomendaría no usar estas contracciones, en mi caso hubiera optado por "contraseña" o como en tu caso pusiste "user" al usuario, hubiese puesto "password". Pero como ya digo esto ya es ser realmente quisquilloso, deberías estar realmente orgulloso de haber comprimido el pedazo tocho de código anterior y que el único errorcillo mas grave sea ese.

Por lo demás, me puse a hacer un código mas compacto aún hace 5 minutillos y me  salio esto, ojala te sirva de inspiración para este o futuros proyectos:

contador = 3

while contador != 0:
    usuario = input("Introduce el usuario:")
    if usuario == "root":
        contraseña = input("Introduce la contraseña:")
        if contraseña == "123":
            print("Bienvenido señor X")
            break
    else:
        contador -= 1
        print(" ERROR \n Quedan ", contador, "intentos.")


Si tienes cualquier duda de códigos en el futuro no dudes en mandarme un mensaje privado. Entre principiantes hay que ayudarnos  :laugh: :laugh:.
Exacto,Muchas gracias por dar tu opinión y ayudarme  ;).
Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.

tincopasan

#9
veamos:
              es verdad que mejoran el código(siguen faltando líneas o mejoras), pero agregare algo a lo hecho hasta ahora:

Código (python) [Seleccionar]
#-*- coding: utf - 8 -*-
contador = 3
while contador != 0:
   usuario = input("Introduce el usuario:")
   if usuario == "root":
       contraseña = input("Introduce la contraseña:")
       if contraseña == "123":
           print("Bienvenido señor X")
           break
       else:    #este else lo agrego porque si user esta bien pero password mal, se repite indefinidamente sin usar el contador de intentos
           contador -= 1
           print(f" ERROR \n Quedan: {contador} intentos ") #acá uso formato de cadenas, hace más legible el código.        
   else:
       contador -= 1
       print(f" ERROR \n Quedan: {contador} intentos ")


edito:
         después que lo publiqué me di cuenta de la redundancia, la saco:

Código (python) [Seleccionar]
#-*- coding: utf - 8 -*-
contador = 3
while contador != 0:
    usuario = input("Introduce el usuario:")
    if usuario == "root":
        contraseña = input("Introduce la contraseña:")
        if contraseña == "123":
            print("Bienvenido señor X")
            break
    contador -= 1
    print(f" ERROR \n Quedan: {contador} intentos ")