Operadores de atribuição
Operadores relacionais
Os operadores relacionais devolvem sempre um valor booleano: True ou False
Operadores lógicos
Os operadores lógicos são usados para relacionar valores booleanos. Também devolvem True ou False.
Considera as seguintes variáveis:
idade = 16
tem_bilhete = True
chove = False
tem_guarda_chuva = True
nota = 12
Para cada expressão, digam se o resultado é True ou False sem correr o programa:
idade >= 18 and tem_bilhete
idade >= 18 or tem_bilhete
not chove
chove and tem_guarda_chuva
chove or tem_guarda_chuva
idade >= 12 and idade <= 17 and tem_bilhete
nota >= 10 and not chove
not (nota >= 10 and tem_bilhete)
nota < 10 or idade < 18 and chove
not chove and not tem_guarda_chuva
Prioridade dos operadores
Como na Matemática
Enunciado: escreve um programa que pergunte o preço de um produto, a quantidade que o cliente quer comprar e o dinheiro que ele entrega. O programa mostra o total a pagar e o troco.
Resultado esperado:
Preço do produto: 1.25
Quantidade: 4
Dinheiro entregue: 10
Total a pagar: 5.0
Troco: 5.0
Solução
preco = float(input("Preço do produto: "))
quantidade = int(input("Quantidade: "))
entregue = float(input("Dinheiro entregue: "))
total = preco * quantidade
troco = entregue - total
print("Total a pagar:", total)
print("Troco:", troco)
Enunciado: escreve um programa que peça o preço original de um artigo e a percentagem de desconto. O programa mostra o valor do desconto e o preço final.
Resultado esperado:
Preço original: 80
Desconto (%): 25
Valor do desconto: 20.0
Preço final: 60.0
Nota: Para quem terminar cedo, podem acrescentar o IVA (23%) ao preço final no Exercício 1 e 2
Solução
preco = float(input("Preço original: "))
percentagem = float(input("Desconto (%): "))
desconto = preco * percentagem / 100
preco_final = preco - desconto
print("Valor do desconto:", desconto)
print("Preço final:", preco_final)
Determine o resultado de cada uma das expressões seguintes:
a) 5.55!=3.33
b) (5==3)or(8!=7)
c) (4<2)and(3>7)
d) (10<(14%2))
e) ((5>=0)and(8<=0))or not(5!=0)
f) (5<9)and((6!=2)or(5-3==2))
Solução
a) V
b) V
c) F
d) F
e) F
f) V
Pede a hora e os minutos atuais (por exemplo, 22 e 45) e um número de minutos a acrescentar (por exemplo, 200). O programa mostra a nova hora (de 0 a 23), os novos minutos (de 0 a 59) e quantos dias passaram.
Resultado esperado:
Hora: 22
Minutos: 45
Minutos a acrescentar: 200
Nova hora: 2 h 5 min
Dias a mais: 1
Solução
hora = int(input("Hora: "))
minutos = int(input("Minutos: "))
acrescentar = int(input("Minutos a acrescentar: "))
# Transforma as horas em minutos
horas_em_minutos = hora * 60
# Horas atuais em minutos
horas_atuais = horas_em_minutos + minutos
# Adiciona os minutos às horas convertidas em minutos
total = horas_atuais + acrescentar
# Conversão de minutos em horas, minutos e dias
nova_hora = (total // 60) % 24
novos_minutos = total % 60
dias = total // 60 // 24
print("Nova hora:", nova_hora, "h", novos_minutos, "min")
print("Dias a mais:", dias)
Link para Ficha 2 - Variáveis e Operadores: