Roger Sampaio
Dominando Python: Aula 19 Exceções (Try ... Except) Parte 1
Atualizado: 13 de nov. de 2022
Olá. Segue mais aula do curso DOMINANDO PYTHON. Erros são bastante comuns ao construir ou executar programas, devemos reduzi-los ao máximo possível. Um valor digitado incorretamente pelo usuário pode prejudicar muito o bom comportamento do seu aplicativo. Abordaremos nessa aula como tratá-los através de exceções, aprendendo utilizar os comandos try, except, finally, raise. Beijo no coração.
O GIT está aqui.
Saiba mais sobre exceções lendo esse excelente artigo.
E por fim segue um quiz para praticar. Lembre-se programar envolve muita prática. Enquanto mais você praticar, melhor se tornará. O quiz tem questões sobre tratamento de exceções e erros, strings, loops, funções, comandos condicionais, criação de variáveis, conversão de tipos de variáveis e atribuições, listas, tuplas e dicionários. As respostas estarão disponíveis na próxima aula. Boa sorte.
Q1 - Considere a seguinte lista em Python:
# Criação
listaValores = list(range(0,10))
# Verificando o tipo de estrutura
type(listaValores)
# Percorrendo
Se quisermos mostrar todos os valores pares na lista na linha 6, uma possibilidade é?
a)
for item in listaValores:
if (item // 2 == 0):
print(item)
b)
for item in listaValores:
if (item not in (0,2,4,6,8)):
print(item)
c)
for item in listaValores:
if (item % 2 == 0):
print('O valor é %d ' % (item))
d)
for item in listaValores:
if (item % 2 == 0):
print(item)
Q2 - Profissionais da área de saúde, especialmente os nutricionistas, estão constantemente avaliando o peso das pessoas, para verificar se está normal ou não. Um dos indicadores utilizados é o IMC (índice de massa corpórea), que considera a altura e o peso do individuo e atribuí uma classificação:
Magreza, quando o resultado é menor que 18,5 kg/m2;
Normal, quando o resultado está entre 18,5 e 24,9 kg/m2;
Sobrepeso, quando o resultado está entre 24,9 e 30 kg/m2;
Obesidade, quando o resultado é maior que 30 kg/m2.
O cálculo do IMC é dado por: peso/ (altura x altura). Peso e altura são dados em metros.
Considerando que foi construído o seguinte programa em Python para atender o problema de negócio:
altura = float(input('Informe sua altura: '))
peso = float(input('Informe seu peso: '))
imc = peso/(altura**2)
print('Seu IMC é %2d' % imc)
if(imc <= 18.5):
print('Magreza')
elif (imc <= 24.9):
print('Normal')
elif (imc <= 30):
print('Sobrepeso')
else:
print('Obesidade')
Considere que o usuário informou para a altura o valor de 1.80 e para o peso 80. Qual será o resultado ao executar o programa?
a)
Seu IMC é 24
Normal
b)
Seu IMC é 30.6
Sobrepeso
c)
Seu IMC é 17.4
Magreza
d)
Há um erro de sintaxe no programa, que impede de ser executado.
Q3 - Ao ser criada a função abaixo:
def verificaPar(num):
return num % 2 == 0
Qual das opções abaixo, é uma chamada inválida para a função acima?
a)
verificaPar(200**2)
b)
verificaPar(float(input('Digite o valor a ser consultado: ')))
c)
import math as m
verificaPar(m.pi)
d)
verificaPar()
Q4 - Observe o seguinte trecho escrito em Python:
import math as matematica
listaQualquer = [matematica.pi, "onça", "Carlos Sousa", 18**3, True,[ ],[45,11,'sexo masculino'],6.1]
print(45 in listaQualquer);
print('onça' in listaQualquer);
print(18**3 in listaQualquer);
print(3.14 in listaQualquer);
Ao executar o programa, o resultado será?
a)
True
True
True
False
b)
False
True
True
False
c)
False
True
True
True
d)
False
True
False
False
Q5 -
Dado o seguinte código em Python:
listaAnimais = ['macaco','gato','cachorro','zebra','vaca']
for i in range(0,len(listaAnimais)):
print(listaAnimais[i+1])
O que ocorrerá ao executar o código acima?
a)
Mostrará na tela todos os animais a partir do gato, isto é:
gato
cachorro
zebra
vaca
b)
Mostrará na tela todos os animais, a partir do macaco, isto é:
macaco
gato
cachorro
zebra
vaca
c)
Mostrará um erro de sintaxe na tela, porque a correta declaração para listas é parênteses e não cochetes. O correto seria:
listaAnimais = ('macaco','gato','cachorro','zebra','vaca')
d)
Mostrará todos os animais a partir de gato, porém ocorrerá uma exceção do tipo IndexError.
Beijos de luz.