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

2024-05-16 23:01:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道为什么,但是我不能在每个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')

Tags: ifalprintelifporwhileimputusuarios
1条回答
网友
1楼 · 发布于 2024-05-16 23:01:57

代码中有3个主要问题。在

  1. 缩进。遵循一致的缩进,并确保条件中至少有一个语句
  2. 您正在迭代列表元素,而不是索引。menu1[k]无效,因为k不是索引。如果menu1 = ['hi', 'hello'],那么k可以接受'hi'和{},而不是{}和{}。在
  3. 您调用的获取输入的函数拼写错误为imput。如果您使用的是python2,请使用raw_input,或者{}来表示python3。在

修正了你的代码。在

#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')

相关问题 更多 >