Python Declarações condicionais: IF…Else, ELIF e Switch Case
O que são declarações condicionais em Python?
Declaração Condicional em Python realizar diferentes cálculos ou ações dependendo se uma restrição booleana específica é avaliada como verdadeira ou falsa. Instruções condicionais são tratadas por instruções IF em Python.
O que é o Python Se declaração?
Python Se Declaração é usado para operações de tomada de decisão. Ele contém um corpo de código que é executado somente quando a condição fornecida na instrução if for verdadeira. Se a condição for falsa, a instrução else opcional será executada, contendo algum código para a condição else.
Quando você deseja justificar uma condição enquanto a outra não é verdadeira, você usa Python declaração if else.
Python Sintaxe da instrução if:
if expression Statement else Statement
Python if…else Fluxograma
Vejamos um exemplo de Python se mais Declaração:
# #Example file for working with conditional statement # def main(): x,y =2,8 if(x < y): st= "x is less than y" print(st) if __name__ == "__main__": main()
- Linha de código 5: definimos duas variáveis x, y = 2, 8
- Linha de código 7: a instrução if em Python verifica a condição x Verdadeiro nesse caso
- Linha de código 8: A variável st é definida como “x é menor que y”.
- Linha de código 9: A linha print st produzirá o valor da variável st que é “x é menor que y”,
O que acontece quando “se a condição” não for atendida
Nesta etapa, veremos o que acontece quando a condição if em Python não atende.
- Linha de código 5: definimos duas variáveis x, y = 8, 4
- Linha de código 7: a instrução if em Python verifica a condição x Falso nesse caso
- Linha de código 8: A variável st é NÃO definido como “x é menor que y”.
- Linha de código 9: A linha print st – está tentando imprimir o valor de uma variável que nunca foi declarada. Portanto, obtemos um erro.
Como usar a “condição else”
A “condição else” geralmente é usada quando você tem que julgar uma afirmação com base em outra. Se uma condição der errado, então deverá haver outra condição que justifique a afirmação ou lógica.
Exemplo:
# #Example file for working with conditional statement # def main(): x,y =8,4 if(x < y): st= "x is less than y" else: st= "x is greater than y" print (st) if __name__ == "__main__": main()
- Linha de código 5: definimos duas variáveis x, y = 8, 4
- Linha de código 7: a instrução if em Python verifica a condição x Falso nesse caso
- Linha de código 9: O fluxo de controle do programa vai para a condição else
- Linha de código 10: A variável st é definida como “x é maior do que você.
- Linha de código 11: A linha print st produzirá o valor da variável st que é “x é maior que y”,
Quando “outra condição” não funciona
Pode haver muitos casos em que sua “condição else” não fornecerá o resultado desejado. Irá imprimir o resultado errado porque há um erro na lógica do programa. Na maioria dos casos, isso acontece quando você precisa justificar mais de duas declarações ou condições em um programa.
An exemplo irá ajudá-lo melhor a entender esse conceito.
Aqui ambas as variáveis são iguais (8,8) e a saída do programa é “x é maior que y”, que é ERRADO. Isso ocorre porque ele verifica a primeira condição (se a condição em Python) e, se falhar, imprimirá a segunda condição (outra condição) como padrão. Na próxima etapa, veremos como podemos corrigir esse erro.
# #Example file for working with conditional statement # def main(): x,y =8,8 if(x < y): st= "x is less than y" else: st= "x is greater than y" print(st) if __name__ == "__main__": main()
Como usar a condição “elif”
Para corrigir o erro anterior cometido pela “condição else”, podemos usar “elif” declaração. Usando “elif”Condição, você está dizendo ao programa para imprimir a terceira condição ou possibilidade quando a outra condição der errado ou incorreta.
Exemplo
# #Example file for working with conditional statement # def main(): x,y =8,8 if(x < y): st= "x is less than y" elif (x == y): st= "x is same as y" else: st="x is greater than y" print(st) if __name__ == "__main__": main()
- Linha de código 5: definimos duas variáveis x, y = 8, 8
- Linha de código 7: A instrução if verifica a condição x Falso nesse caso
- Linha de código 10: O fluxo de controle do programa vai para a condição elseif. Ele verifica se x==y o que é verdade
- Linha de código 11: A variável st é definida como “x é mesma y. ”
- Linha de código 15: O o fluxo de controle do programa sai da instrução if (não chegará à instrução else). E imprima a variável st. A saída é “x é igual a y”, o que está correto
Como executar instrução condicional com código mínimo
Nesta etapa, veremos como podemos condensar a declaração condicional. Em vez de executar o código para cada condição separadamente, podemos usá-los com um único código.
Sintaxe
A If B else C
Exemplo:
def main(): x,y = 10,8 st = "x is less than y" if (x < y) else "x is greater than or equal to y" print(st) if __name__ == "__main__": main()
- Linha de código 2: definimos duas variáveis x, y = 10, 8
- Linha de código 3: A variável st é definida como “x é menor que y” se x y variável st está definida como “x é maior ou igual a y.”
- Linha de código 4: imprime o valor de st e fornece a saída correta
-
Em vez de escrever códigos longos para instruções condicionais, Python dá a você a liberdade de escrever código de forma curta e concisa.
Python Declaração if aninhada
O exemplo a seguir demonstra a instrução if aninhada Python
total = 100 #country = "US" country = "AU" if country == "US": if total <= 50: print("Shipping Cost is $50") elif total <= 100: print("Shipping Cost is $25") elif total <= 150: print("Shipping Costs $5") else: print("FREE") if country == "AU": if total <= 50: print("Shipping Cost is $100") else: print("FREE")
Remova o comentário da linha 2 no código acima e comente a linha 3 e execute o código novamente
Instrução Switch Case em Python
O que é a declaração Switch?
Uma instrução switch é uma instrução de ramificação multidirecional que compara o valor de uma variável com os valores especificados nas instruções case.
Python a linguagem não possui uma instrução switch.
Python usa dicionário mapeamento para implementar Switch Case em Python
Exemplo
function(argument){ switch(argument) { case 0: return "This is Case Zero"; case 1: return " This is Case One"; case 2: return " This is Case Two "; default: return "nothing"; }; };
Para o caso Switch acima em Python
def SwitchExample(argument): switcher = { 0: " This is Case Zero ", 1: " This is Case One ", 2: " This is Case Two ", } return switcher.get(argument, "nothing") if __name__ == "__main__": argument = 1 print (SwitchExample(argument))
Python 2 Exemplo
Os códigos acima são Python 3 exemplos, se você quiser correr Python 2 considere o seguinte código.
# If Statement #Example file for working with conditional statement # def main(): x,y =2,8 if(x < y): st= "x is less than y" print st if __name__ == "__main__": main() # How to use "else condition" #Example file for working with conditional statement # def main(): x,y =8,4 if(x < y): st= "x is less than y" else: st= "x is greater than y" print st if __name__ == "__main__": main() # When "else condition" does not work #Example file for working with conditional statement # def main(): x,y =8,8 if(x < y): st= "x is less than y" else: st= "x is greater than y" print st if __name__ == "__main__": main() # How to use "elif" condition #Example file for working with conditional statement # def main(): x,y =8,8 if(x < y): st= "x is less than y" elif (x == y): st= "x is same as y" else: st="x is greater than y" print st if __name__ == "__main__": main() # How to execute conditional statement with minimal code def main(): x,y = 10,8 st = "x is less than y" if (x < y) else "x is greater than or equal to y" print st if __name__ == "__main__": main() # Nested IF Statement total = 100 #country = "US" country = "AU" if country == "US": if total <= 50: print "Shipping Cost is $50" elif total <= 100: print "Shipping Cost is $25" elif total <= 150: print "Shipping Costs $5" else: print "FREE" if country == "AU": if total <= 50: print "Shipping Cost is $100" else: print "FREE" #Switch Statement def SwitchExample(argument): switcher = { 0: " This is Case Zero ", 1: " This is Case One ", 2: " This is Case Two ", } return switcher.get(argument, "nothing") if __name__ == "__main__": argument = 1 print SwitchExample(argument)
Resumo
Uma declaração condicional em Python é tratado por instruções if e vimos várias outras maneiras de usar instruções condicionais como Python se mais aqui.
- “if condição” - É usado quando você precisa imprimir o resultado quando uma das condições é verdadeira ou falsa.
- “outra condição” - é usado quando você deseja imprimir a declaração quando sua única condição não atende ao requisito
- “condição elif” – É usado quando você tem uma terceira possibilidade como resultado. Você pode usar várias condições Elif para verificar 4th,5th,6th possibilidades no seu código
- Podemos usar código mínimo para executar instruções condicionais, declarando todas as condições em uma única instrução para executar o código
- Python A instrução If pode ser aninhada