IndentationError: expected an indented block noob error [duplicate]

0

I'm starting in programming and I figure this error can help me identify it please.

usuarios = {"Marta","David","Elvira","Juan","Marcos"}
administradores = {"Juan","Marta"}

print ("estos son los usuarios: ",usuarios,)
print ("estos son los adm: ", administradores,"\n")

x = input ("introduzca un nombre para crear en usuarios: ")
usuarios.add(x)


print ("""Menu de usuarios, que desea hacer: 
1) Quiere que sea ADM
2) Solo quiere que sea Usuario
3) Eliminar un ADM
4) salir""")

while (True):

option = input()

if option == '1':

    administradores.add(x)
    print ("El grupo adm ahora son: ", administradores,"\n")

    print ("""¿Desea comprobar?: 
    1) Si
    2) No""")

    while (True):
        option2 = input()
        if option2 == '1':
            for x in usuarios:
                if x in administradores:
                     print (usuarios, "es adm")                

                else:
                    print (usuarios, "no es adm")

        elif opcion2 == '2':
            break
        else:
            "Debes introducir una opcion valida"

elif option == '2':
    print ("el grupo usuarios son: ", usuarios,"\n")

    print ("""¿Desea comprobar?: 
    1) Si
    2) No""")

    while (True):
        option3 = input()
        if option3 == '1':
            for x in usuarios:
                if x in administradores:
                     print (usuarios, "es adm")                

                else:
                    print (usuarios, "no es adm")

        elif opcion3 == '2':
            break
        else:
            "Debes introducir una opcion valida"

elif option == '3':

    print ("Estos son los Adm: ",administradores,"\n","Estos son los Usuarios: ",usuarios,"\n")

    y = input ("ponga un nombre para eliminar de adm: ")
    administradores.discard(y)
    while (True):  

    if y in usuarios:
        print ("el grupo administradores es: ", administradores,"\n")
        break
    else:
        print ("nombre introducido no esta en los usuarios.")

elif option == '4':
    print("¡Hasta luego! Ha sido un placer ayudarte")
        break
else:
    print ("Elige un comando valido")  
    
asked by Juan 27.05.2018 в 04:45
source

1 answer

0

In Python, unlike other programming languages, indentation is part of the syntax of the language. Make sure you are adding the indentation in the right place. A good editor should help you with this task.

In your case:

All code from after the first while (True): must be indented

while (True):

    option = input()

    if option == '1':
    ... # Muchas lineas después
    else:
        print ("Elige un comando valido")  

Then the block within the last while (True): must also be indented one more level

while (True):  

    if y in usuarios:
        print ("el grupo administradores es: ", administradores,"\n")
        break
    else:
        print ("nombre introducido no esta en los usuarios.")

And finally the break of almost at the end must go back one level

elif option == '4':
    print("¡Hasta luego! Ha sido un placer ayudarte")
    break

The complete code below:

usuarios = {"Marta","David","Elvira","Juan","Marcos"}
administradores = {"Juan","Marta"}

print ("estos son los usuarios: ",usuarios,)
print ("estos son los adm: ", administradores,"\n")

x = input ("introduzca un nombre para crear en usuarios: ")
usuarios.add(x)


print ("""Menu de usuarios, que desea hacer: 
1) Quiere que sea ADM
2) Solo quiere que sea Usuario
3) Eliminar un ADM
4) salir""")

while (True):

    option = input()

    if option == '1':

        administradores.add(x)
        print ("El grupo adm ahora son: ", administradores,"\n")

        print ("""¿Desea comprobar?: 
        1) Si
        2) No""")

        while (True):
            option2 = input()
            if option2 == '1':
                for x in usuarios:
                    if x in administradores:
                         print (usuarios, "es adm")                

                    else:
                        print (usuarios, "no es adm")

            elif opcion2 == '2':
                break
            else:
                "Debes introducir una opcion valida"

    elif option == '2':
        print ("el grupo usuarios son: ", usuarios,"\n")

        print ("""¿Desea comprobar?: 
        1) Si
        2) No""")

        while (True):
            option3 = input()
            if option3 == '1':
                for x in usuarios:
                    if x in administradores:
                         print (usuarios, "es adm")                

                    else:
                        print (usuarios, "no es adm")

            elif opcion3 == '2':
                break
            else:
                "Debes introducir una opcion valida"

    elif option == '3':

        print ("Estos son los Adm: ",administradores,"\n","Estos son los Usuarios: ",usuarios,"\n")

        y = input ("ponga un nombre para eliminar de adm: ")
        administradores.discard(y)
        while (True):  

            if y in usuarios:
                print ("el grupo administradores es: ", administradores,"\n")
                break
            else:
                print ("nombre introducido no esta en los usuarios.")

    elif option == '4':
        print("¡Hasta luego! Ha sido un placer ayudarte")
        break
    else:
        print ("Elige un comando valido")
    
answered by 27.05.2018 в 21:06