I have one check that I cannot seem to pass, my code generally works fine.
import random
def main():
lvl = get_level()
x, y = generate_integer(lvl), generate_integer(lvl)
score = 0
count = 0
wrong = 0
r = 10
for z in range(r*3):
awns = input(f"{x} + {y} = ")
if awns.isnumeric() and int(awns) == x + y:
score += 1
if score == 10 or (score + wrong) == 10:
break
else:
x, y = generate_integer(lvl), generate_integer(lvl)
continue
else:
if count == 2:
count = 0
print(x + y)
x, y = generate_integer(lvl), generate_integer(lvl)
wrong += 1
continue
else:
print("EEE")
count += 1
continue
print("score:", score)
def get_level():
while True:
n = input("level: ")
if n.isnumeric() and int(n) in range(1, 4):
return int(n)
else:
continue
def generate_integer(level):
if level not in (1, 2, 3):
raise ValueError()
min_int = 10**(level-1) - 1
max_int = 10**level - 1
if level == 2:
min_int = 10
elif level == 3:
min_int = 100
return random.randint(min_int, max_int)
if __name__ == "__main__":
main()