## 9) Desenvolva um programa que informa a nota de um(a) aluno(a) de acordo com suas respostas. Ele deve pedir a resposta desse(a) aluno(a) para cada questão e é preciso verificar se a resposta foi igual ao gabarito. Cada questão vale um ponto e existem as alternativas A, B, C ou D.
# Dicionário com o gabarito oficial das questões, onde a chave é o número da questão
# e o valor é a alternativa correta (A, B, C ou D).
gabarito = {
1 : 'D',
2 : 'A',
3 : 'C',
4 : 'B',
5 : 'A',
6 : 'D',
7 : 'C',
8 : 'C',
9 : 'A',
10 : 'B'
}
# Inicializa a variável nota, que vai contar quantas questões foram acertadas.
nota = 0
# Variável que vai contar quantas questões foram erradas.
respostaserradas = 0
# Lista para armazenar os números das questões que o usuário acertou.
questoescertas = []
# Lista para armazenar os números das questões que o usuário errou.
questoeserradas = []
# Laço que percorre todas as 10 questões (de 1 a 10)
for i in range(1, 11):
# Solicita ao usuário a resposta da questão atual (i), já convertendo para maiúscula.
resposta = input(f'Qual a resposta da questão {i} ? ').upper()
# Enquanto a resposta digitada não for uma das opções válidas, solicita novamente.
while resposta not in ['A', 'B', 'C', 'D']:
print('Resposta inválida! Tente novamente.')
resposta = input(f'Qual a resposta da questão {i} ? ').upper()
# Verifica se a resposta está correta, comparando com o gabarito.
if resposta == gabarito[i]:
nota += 1 # Incrementa a pontuação
questoescertas.append(i) # Armazena a questão como certa
else:
respostaserradas += 1 # Incrementa o número de erros
questoeserradas.append(i) # Armazena a questão como errada
# Exibe o resultado final
print(f'Você acertou {nota} questões e errou {respostaserradas} questões.')
print(f'Você acertou as questões: {questoescertas}')
print(f'Você errou as questões: {questoeserradas}')
print(f'Você obteve {nota} pontos.')
## 10) Um instituto de meteorologia deseja fazer um estudo de temperatura média de cada mês do ano. Para isso, você precisa fazer um código que colete e armazene essas temperaturas médias em uma lista. Depois, calcule a média anual das temperaturas e mostre todas as temperaturas acima da média anual e em que mês elas ocorreram, mostrando os meses por extenso (Janeiro, Fevereiro, etc.).
ano = 2025
meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho',
'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']
tempmes = []
mediaanual = 0
# Coleta de dados com validação
for i in range(12):
while True:
try:
temp = int(input(f'Informe a temperatura média de {meses[i]}/{ano}: '))
if temp < -50 or temp > 50:
print('Valor inválido. Temperatura deve estar entre -50 e 50°C.')
continue
tempmes.append(temp)
break
except ValueError:
print('Valor inválido. Digite um número inteiro.')
# Cálculo da média anual
mediaanual = sum(tempmes) / 12
# Exibe todas as temperaturas
print("\nTemperaturas registradas:")
for i in range(12):
print(f'{meses[i]}/{ano}: {tempmes[i]}°C')
# Exibe a média anual
print(f'\nMédia anual de temperaturas em {ano}: {mediaanual:.2f}°C')
# Exibe os meses com temperatura acima da média
print("\nMeses com temperatura acima da média:")
for i in range(12):
if tempmes[i] > mediaanual:
print(f'{meses[i]}: {tempmes[i]}°C')
## 11) Uma empresa de e-commerce está interessada em analisar as vendas dos seus produtos. Os dados das vendas foram armazenados em um dicionário: {'Produto A': 300, 'Produto B': 80, 'Produto C': 60, 'Produto D': 200, 'Produto E': 250, 'Produto F': 30} Escreva um código que calcule o total de vendas e o produto mais vendido.
# Dados de vendas
bancodados = {
'Produto A': 300,
'Produto B': 80,
'Produto C': 60,
'Produto D': 200,
'Produto E': 250,
'Produto F': 30
}
# Total de vendas
totalvendas = sum(bancodados.values())
print(f'Total de vendas: {totalvendas:,} unidades\n')
# Ordenar e exibir vendas em ordem decrescente
print('Lista de vendas por proporção maior:')
vendas_ordenadas = sorted(bancodados.items(), key=lambda x: x[1], reverse=True)
for produto, valor in vendas_ordenadas:
print(f'{produto:<10} → {valor:>5} unidades')