veamos:
es verdad que mejoran el código(siguen faltando líneas o mejoras), pero agregare algo a lo hecho hasta ahora:
edito:
después que lo publiqué me di cuenta de la redundancia, la saco:
				
			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 ")