预计会出现预期的块错误,我做错了什么

时间:2017-06-16 11:45:23

标签: python python-2.7

我不知道为什么但是我不能在每个if或elif中运行这个程序会有几个函数但我似乎无法使其工作,我一直在得到缩进错误elif i == 2:

menu1=['1-Jugar','2-Ver Top 10','3-Cargar,generar o actualizar archivo Usuarios','0-Salir']
menu2=['1-Reset archivo Usuarios','2-Cargar nuevo arhivo Usuarios','3-Actualizar archivo Usuarios','4-Generar Usuarios aleatorio','0-Volver al Menu Principal']
i=1
while i!=0:
    for k in menu1:
        print (menu1[k],'\n')
    j=1
    i=imput('Por favor ingresar la accion a realizar acorde al numero correspondiente')
    if i==1:
        ...
    elif i==2:
        while j!=0:
            j=imput('Presione 0 para volver al menu principal')
    elif i==3:
        while j!=0:
            for k in menu2:
                print (menu2[k],'\n')
            j=imput('Por favor ingresar la accion a realizar acorde al numero correspondiente')
            if j==1:
                  ...
            elif j==2:
                  ...
            elif j==3:
                  ...
            elif j==4:
                  ...
            elif j==0:
                  ...
            else: 
                  print ('Por favor ingresar un numero valido')
    elif i==0: 
        ...
    else: 
        print ('Por favor ingresar un numero valido')

1 个答案:

答案 0 :(得分:1)

您的代码中存在3个主要问题。

  1. 缩进量。遵循一致的缩进,并确保您的条件中至少有一条陈述
  2. 您正在迭代列表元素,而不是索引。 menu1[k]无效,因为k不是索引。如果menu1 = ['hi', 'hello']则k可以'hi''hello',而不是01
  3. 您调用输入的函数拼写错误为imput。如果您使用的是python2,请使用raw_inputinput作为python3。
  4. 修正了你的代码。

    #Programa Principal, desde aqui haremos el menu
    menu1=['1-Jugar','2-Ver Top 10','3-Cargar,generar o actualizar archivo Usuarios','0-Salir']
    menu2=['1-Reset archivo Usuarios','2-Cargar nuevo arhivo Usuarios','3-Actualizar archivo Usuarios','4-Generar Usuarios aleatorio','0-Volver al Menu Principal']
    i=1
    while i!=0:
        for k in menu1:
            print (k,'\n')
        j=1
        i=input('Por favor ingresar la accion a realizar acorde al numero correspondiente')
        if i==1:
            #Se inicia el juego
            pass
        elif i==2:
            #Se imprime el top 10 y vuelve
            #Aca va el programa de top 10
            while j!=0:
                j=input('Presione 0 para volver al menu principal')
        elif i==3:
            #Va a menuUsuarios
            while j!=0:
                for k in menu2:
                    print(k, '\n')
                j=input('Por favor ingresar la accion a realizar acorde al numero correspondiente')
                if j==1:
                    #Resetea Usuarios, se borra el anterior
                    pass
                elif j==2:
                    #Carga nuevo Usuarios, se borra el anterior
                    pass
                elif j==3:
                    #Permite crear un nuevo novUsuarios y realiza el apareo
                    pass
                elif j==4:
                    #Genera un Usuarios aleatorio, se borra el anterior
                    pass
                elif j==0:
                    #Vuelve al menu principal
                    pass
                else: 
                    #Accion invalida
                    print ('Por favor ingresar un numero valido')
        elif i==0: 
            #Como no hace nada sale del programa
            pass
        else: 
            #Accion invalida
            print ('Por favor ingresar un numero valido')