2
I’m trying to solve the following exercise:
Develop a program to check the student’s grade in a test with 10 questions, the program should ask the student the answer of each question and finally compare with the proof template and thus calculate the total hits and the grade (give 1 point for correct answer). After each student using the system should be asked a question if another student will use the system. After all students have responded inform:
Maior e Menor Acerto; Total de Alunos que utilizaram o sistema; A Média das Notas da Turma. Gabarito da Prova: 01 - A 02 - B 03 - C 04 - D 05 - E 06 - E 07 - D 08 - C 09 - B 10 - A
For that I thought of the following algorithm:
respostas = ['A', 'B', 'C', 'D', 'E', 'E', 'D', 'C', 'B', 'A'] #Lista com as respostas do teste
#Declaração das variaveis
maiorAcerto = 0
menorAcerto = 10
totalAlunos = 0
media = 0
while True:
cont = 0
acertos = 0
erros = 0
for resposta in respostas: #For loop que vai verificar se a resposta digitada é igual ao item correto da questão
item = input('Digite a resposta da questão %d: '%(cont + 1)).lower()
if resposta == item:
acertos += 1
else:
erros += 1
cont += 1
totalAlunos += 1 #Incremento de aluno
media += acertos #Acumuda o número de acertos em média
if acertos > maiorAcerto: #Teste para saber se o aluno obteve a maior quantidade de acertos
maiorAcerto = acertos
if erros < menorAcerto: #Teste para saber se o aluno obteve a menor quantidade acertos
menorAcerto = erros
#Verifica se mais um aluno deseja checar suas respostas.
continuar = input('Deseja continuar a usar o programa? Digite S(sim) ou N(não)\n').lower()
if continuar == 's':
continue
elif continuar == 'n':
break
media = media / totalAlunos #Calcula a média dividindo o total dos acertos pelo número de alunos
print('%d alunos usaram o sistema'%totalAlunos)
print('A maior quantidade de acertos: %d'%maiorAcerto)
print('A menor quantidade de acertos: %d'%menorAcerto)
print('A média da turma foi: %.2f'%media)
However, at the end of the program, the variable higher Certain, lower and average are with the initial values. I need to use the global to modify a variable within a loop or am forgetting something?
Puts ended up forgetting that detail. Thanks for the help!
– Alyson Brito