Programação para Juristas · Uso de trye exceptem condições...

22
Programação para Juristas PROF. MATHEUS SILVA 2019-10-03

Transcript of Programação para Juristas · Uso de trye exceptem condições...

Page 1: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Programação para JuristasP R O F . M A T H E U S S I L V A

2 0 1 9 - 1 0 - 0 3

Page 2: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•A execução condicional de um programa refere-se à situação emque uma parte do código só será executada se determinadacondição for verdadeira.

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

SE utilização de dados != finalidade da recolha:Aplicar(pena_art_46)

Page 3: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•A execução condicional será testada com base em expressõesbooleanas, que retornaram o valor Verdadeiro (True) ou Falso(False).

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

>>> 5 == 5True

>>> 5 == 6False

Page 4: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•Operadores de comparação (retornam valores True ou False):

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

• x == y x é igual a y

• x != y x é diferente de y

• x > y x é maior que y

• x < y x é menor que y

• x >= y x é maior ou igual a y

• x <= y x é menor ou igual a y

• x is y x é o mesmo que y

• x is not y x não é o mesmo que y

Page 5: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•Há também operadores lógicos que também retornam valores Trueou False: and, or e not.

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

• x > 0 and x < 10

• True se x for maior que zero E menor que 10

•n%2 == 0 or n%3 == 0

• True se n for divisível por 2 OU por 3

Page 6: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•not (x > y)

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

• True se (x > y == False)

•O que aparece após o if é a condição do teste booleano.

•A estrutura do Python para execução condicional é o if.

Page 7: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•Colocando em prática: crie um programa que mostre a mensagem“X é um número positivo.” com base no valor inserido pela pessoa(exercício 1).

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

x = int(input(“Digite um número: ”))

if x > 0:

print(“X é um número positivo.”)

Page 8: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•Deve-se sempre: colocar o sinal de 2 pontos após a condição deteste; a(s) linha(s) subsequentes devem ser sempre indentadas (ourecuadas).

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

•Neste caso deve-se utilizar a palavra reservada else, que seguirá osmesmos critérios do if (2 pontos ao fim da condição e códigoindentado).

• É possível indicar no programa uma execução alternativa, isto é, umcódigo que será executado se o teste condicional retornar False.

Page 9: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•Colocando em prática: crie um programa que, com base no númeroinserido pela pessoa, mostre a mensagem “O número é par.” ou “Onúmero é ímpar.”, conforme o caso (exercício 2).

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

x = int(input(“Digite um número: ”))if x%2 == 0:

print(“O número é par.”)else:

print(“O número é ímpar.”)

Page 10: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

• É possível ainda criar uma cadeia de condições, em que váriaspossibilidades são testadas durante a execução do programa.

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

• Para tanto utiliza-se a palavra reservada elif, seguindo as mesmasregras do if e do else (2 pontos ao final e código indentado).

• Podem existir tantos elif quantos o programador quiser.

• Importante: se mais de uma condição for verdadeira, apenas aprimeira é executada.

Page 11: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

• Se houver um else, este deve ser a última condição na cadeia.

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

•Colocando em prática: crie um programa que, com base em doisnúmeros inseridos pela pessoa, mostre a mensagem “O primeironúmero é maior que o segundo.”, “O segundo número é maior queo primeiro.” ou “Os dois números são iguais.”, conforme o caso(exercício 3).

Page 12: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

x = int(input(“Digite o primeiro número: ”))y = int(input(“Digite o segundo número: ”))if x > y:

print(“O primeiro número é maior que o segundo.”)elif x < y:

print(“O segundo número é maior que o primeiro.”)else:

print(“Os dois números são iguais.”)

Page 13: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•Os testes condicionais podem estar inseridos um em outro – masdeve-se evitar sua utilização (exercício 4).

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

if x > y:print(“O primeiro número é maior que o segundo.”)

else:if x < y:

print(“O segundo número é maior que o primeiro.”)else:

print(“Os dois números são iguais.”)

Page 14: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

•Quando o programador percebe a necessidade crescente de inserirum teste condicional dentro de outro, o melhor é se utilizar dosoperadores lógicos.

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

• Exercício 5: crie um programa que verifique se o número inseridopela pessoa é positivo e tem apenas um dígito, mostrando estainformação ao final.

Page 15: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

x = int(input(“Digite um número: ”))

if x > 0:

if x < 10:

print(“X é um número positivo com apenas um dígito.”)

Primeira maneira

Page 16: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Execução condicional de um programa

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

x = int(input(“Digite um número: ”))

if x > 0 and x < 10:

print(“X é um número positivo com apenas um dígito.”)

Segunda maneira

Page 17: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Uso de try e except em condições

•O que fazer quando a pessoa inserir algum dado que nossoprograma não é capaz de compreender? Por exemplo, se em vez dedigitar um número a pessoa digitar uma letra?

• Estaremos diante do já conhecido Traceback (Exercício 1):Digite um número: A

Traceback (most recent call last):

File "/Users/matheuspassossilva/Downloads/prog-jur/2019-10-03-ex-06.py", line 1, in <module>

x = int(input("Digite um número: "))ValueError: invalid literal for int() with base 10: 'A'

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

Page 18: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Uso de try e except em condições

• É para este tipo de situação – quando o programador imaginapreviamente que poderá ocorrer algum problema – que é utilizada aestrutura try/except.

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

•A proposta é simples: o programador diz ao Python “tente executaresta parte do programa; se der erro ignore esta instrução e pulepara a próxima”.

Page 19: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Uso de try e except em condições

• Para utilizar o try/except basta inserir as instruções que você querver executada dentro destas respectivas estruturas.

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

•Deve haver 2 pontos ao final e os comandos devem ser indentados.

Page 20: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Uso de try e except em condições

• Exemplo (exercício 7 – correção do exercício 1):x = input(“Digite um número: ”)try:

x = int(x)if x > 0:

print(“X é um número positivo.”)except:

print(“Você não digitou um número.”)

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

Page 21: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Exercício 8

•Crie um programa que receba um número da pessoa e, a dependerdo número inserido, mostre as mensagens “X é um númeropositivo.”, “X é igual a zero.” ou “X é um número negativo.”.

•Caso a pessoa não digite um número, deve-se mostrar a mensagem“Você não digitou um número.”.

• Para a última mensagem deve-se obrigatoriamente utilizar aestrutura try/except.

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM

Page 22: Programação para Juristas · Uso de trye exceptem condições •Oquefazerquandoapessoainseriralgumdadoquenosso programanãoécapazdecompreender?Porexemplo,seemvezde ...

Exercício 9

•Crie um programa que faça a conversão da temperatura deFahrenheit para Celsius.

•Caso a pessoa não digite um número, deve-se mostrar a mensagem“Por favor, digite apenas números.”.

•A mensagem final deve ser a seguinte: “A temperatura em Celsius éigual a X graus.” (Obs.: o X será igual ao número convertido.)

•Deve-se obrigatoriamente utilizar a estrutura try/except.

© 2019 PROF. MATHEUS PASSOS – HTTPS://PROFMATHEUS.COM