Problem counting correct answers

1

I am developing a program to ask me words. I try to collect the number of correct answers, but the counter gives me in all cases 0 or 1 .

How can I solve it?

Here the code:

diccionario = {}

numeropalabras = int(input("¿Cuantas palabras quieres que te pregunte?: "))

for i in range(numeropalabras):
    palabra = str(input("\nIngrese su palabra en español: "))
    traduccion = str(input("Ingrese la traducción al francés de {0}: ".format(palabra)))
    diccionario[palabra] = traduccion

for palabra, traduccion in diccionario.items():
    print('\nCuál es la traducción  "{0}"?'.format(palabra))
    respuesta = input("\nIngrese su respuesta en francés: ")

    contador = 0
    if respuesta == traduccion:
        print("Su respuesta es correcta.")
        contador = contador + 1
    else:
        print("Su respuesta es incorrecta.")

print(contador)
    
asked by JuanVan12 22.11.2016 в 14:33
source

2 answers

2

take out contador = 0 of for , declaring it at the beginning of the code.

    
answered by 22.11.2016 / 14:45
source
2

as indicated by @Jose Emanuel Rojas Rivas

when doing the loop for , every time you enter you delete the value of contador and you initialize it with 0 , then in if to 0 you add 1 , but since it is a loop it is executed again until the condition allows it and it is when the variable contador returns to be 0

contador = 0    
for palabra, traduccion in diccionario.items():
    print('\nCuál es la traducción  "{0}"?'.format(palabra))
    respuesta = input("\nIngrese su respuesta en francés: ")
    if respuesta == traduccion:
        print("Su respuesta es correcta.")
        contador = contador + 1
    else:
        print("Su respuesta es incorrecta.")
    
answered by 22.11.2016 в 15:02