cs50p/problems/pset4/professor/professor.py

44 lines
999 B
Python

import random
def main():
# random.seed() # This breaks check50 😠
score = 0
level = get_level()
for _ in range(10):
x = generate_integer(level)
y = generate_integer(level)
for _ in range(3):
try:
answer = int(input(f"{x} + {y} ="))
except (ValueError, TypeError):
answer = -1
if answer == x + y:
score += 1
break
else:
print("EEE")
else:
print(f"{x} + {y} = {x + y}")
print(f"Score: {score}")
def get_level():
level = 0
while level not in (1, 2, 3):
try:
level = int(input("Level: "))
except (ValueError, TypeError):
level = 0
return level
def generate_integer(level):
if level not in (1, 2, 3):
raise ValueError
return random.randint((10**(level - 1) if level > 1 else 0), 10**level - 1)
if __name__ == "__main__":
main()