I am doing the little professor problem set. Here is my code:
import random
def main():
l = get_level()
score = 0
for i in range(10):
n1 = generate_integer(l)
n2 = generate_integer(l)
guesses = 3
while guesses > 0:
guess = input(str(n1)+" + "+str(n2)+" = ")
if guess == str(n1 + n2):
score += 1
break
else:
print("EEE")
guesses -= 1
if guesses == 0:
print(str(n1)+" + "+str(n2)+" = "+str(n1+n2))
print("Score: "+str(score))
def get_level():
while True:
l = input("Level: ")
if l.isnumeric():
if 0 < int(l) <= 3:
return int(l)
def generate_integer(level):
if level == 1:
return random.randrange(0, 9)
elif level == 2:
return random.randrange(10, 99)
else:
return random.randrange(100, 999)
if __name__ == "__main__":
main()
And my checks look like:
:) professor.py exists
Log
checking that professor.py exists...
:) Little Professor rejects level of 0
Log
running python3 testing.py get_level...
sending input 0...
checking that input was rejected...
:) Little Professor rejects level of 4
Log
running python3 testing.py get_level...
sending input 4...
checking that input was rejected...
:) Little Professor rejects level of "one"
Log
running python3 testing.py get_level...
sending input one...
checking that input was rejected...
:) Little Professor accepts valid level
Log
running python3 testing.py get_level...
sending input 1...
checking that program exited with status 0...
running python3 testing.py get_level...
sending input 2...
checking that program exited with status 0...
running python3 testing.py get_level...
sending input 3...
checking that program exited with status 0...
:) At Level 1, Little Professor generates addition problems using 0–9
Log
running python3 testing.py main...
sending input 1...
checking for output "6 + 6 ="...
:) At Level 2, Little Professor generates addition problems using 10–99
Log
running python3 testing.py main...
sending input 2...
checking for output "59 + 63 ="...
:) At Level 3, Little Professor generates addition problems using 100–999
Log
running python3 testing.py main...
sending input 3...
checking for output "964 + 494 ="...
:( Little Professor generates 10 problems before exiting
Cause
timed out while waiting for program to exit
Log
running python3 testing.py main...
sending input 1...
sending input 12...
sending input 4...
sending input 15...
sending input 10...
sending input 12...
sending input 12...
sending input 10...
sending input 6...
sending input 10...
sending input 12...
:| Little Professor displays number of problems correct
Cause
can't check until a frown turns upside down
:| Little Professor displays EEE when answer is incorrect
Cause
can't check until a frown turns upside down
:| Little Professor shows solution after 3 incorrect attempts
Cause
can't check until a frown turns upside down
It looks like my code is not generating ten problems before exiting. However when I test my code it generates ten problems and displays my score. Yet I am still not passing the check.
Any ideas would be appreciated!