返回 if-else 语句

时间:2021-06-15 13:15:09

标签: python pandas dataframe for-loop while-loop

我有一个包含多个 if 语句的代码,但是,如果语句不满足,我需要返回上一级。我试图穿上“else”,但代码继续停止。我试图做一个While条件“While != 0”,但我陷入了无限循环 他是我的代码

        print('Voce selecionou - [2] - Utilizar Seleção por ano (12 meses/ano)')
    print('\n [1] - Variáveis atuais do modelo \n')
    print('\n [2] - Importação das variáveis e matriz de correlação \n')
    print('\n [0] - Sair do programa \n')
    atual = int(input('Selecione etapa: '))
    
       
    if atual == 1:
        print('\n As Variáveis do atual modelo são \n')
        colunas = list(dados.columns.values)
        print('\n Os dados atuais são \n')
        for x in colunas:
            print('Variável: %s' % x)
            
    if atual == 2:
        
        print('\n =============================================== \n')    
        print('\n A matriz de correlação é: \n')
        correlacao = dados.corr().round(4).iloc[0]
        print(correlacao)
        
        print('\n As Variaveis dentro da condição de validade são: \n')
        
    if atual == 0:
        print('\n Obrigado por usar esse menu e até a próxima! \n')
        print('\n Norte Energia - Usina Hidrelétrica Belo Monte \n') 
    else:
        print('\n Opção Inexistente \n')
        
if corte == 0:
        print('\n Obrigado por usar esse menu e até a próxima! \n')
        print('\n Norte Energia - Usina Hidrelétrica Belo Monte \n') 
        
else:
    print('\n Opção inexistente \n')
    return 

2 个答案:

答案 0 :(得分:3)

尝试用“elif”替换缩进的“if”语句,但不要替换第一个“if”。

if atual == 1:
    print('\n As Variáveis do atual modelo são \n')
    colunas = list(dados.columns.values)
    print('\n Os dados atuais são \n')
    for x in colunas:
        print('Variável: %s' % x)
        
elif atual == 2:
    
    print('\n =============================================== \n')    
    print('\n A matriz de correlação é: \n')
    correlacao = dados.corr().round(4).iloc[0]
    print(correlacao)
    
    print('\n As Variaveis dentro da condição de validade são: \n')
    
elif atual == 0:
    print('\n Obrigado por usar esse menu e até a próxima! \n')
    print('\n Norte Energia - Usina Hidrelétrica Belo Monte \n') 
else:
    print('\n Opção Inexistente \n')

我在创建 fizzbuzz 游戏时遇到了一些问题,不确定是否是同样的问题,但是用 'elif' 替换它修复了它。可能对你有用

答案 1 :(得分:0)

使用 else-if 块。 Bibekjit 提到的 python 中的“elif”。除此之外,如果您想退出 while 循环(如果某些条件匹配),请使用 'break' 语句。