1. Windows
2. Python 3.11.4
При вводе значений пользователем цикл for срабатывает по 7, 8, 9 раз. Получается какие-то итерации он "проглатывает", не могу понять почему
2. Python 3.11.4
При вводе значений пользователем цикл for срабатывает по 7, 8, 9 раз. Получается какие-то итерации он "проглатывает", не могу понять почему
Python:
import random
a = 1
b = 1
c = 1
op = 0
# opPlus = 1
# opMinus = 2
# opDel = 3
# opUmn = 4
win = 0
fail = 0
userName = input("Введите имя пользователя: ")
print("- - - "*11)
print("-*-"*4, "Добро пожаловать в игру \"Cчитай как профи\","+userName+"!", "-*-"*4)
print("["+"______"*11+"]")
print("Перед вами будет стоять задача, посчитать 10 примеров правильно и как можно быстрее")
lvlHard = input(f"""На выбор дается 3 уровня сложности.
Примеры в пределах:
1. До 20 c таблицей умножения
2. От 1 до 100 без деления и умножения
3. От 1 до 100 хардкор
{userName}, выберите Ваш уровень (1, 2, 3): """)
while not lvlHard.isdigit():
# Пока в переменной стр не число просить у него:
lvlHard = input("Пожалуйста, введите уровень сложности, а именно 1,2 или 3: ")
if lvlHard == "1":
for i in range(10):
a = random.randint(1, 10)
b = random.randint(1, 10)
op = random.randint(1, 4)
if op == 1:
# +
c = int(input(f"{a} + {b} = ?: "))
if c == a + b:
print("Верно! Продолжай в том же духе!")
win += 1
elif c != a + b:
print("Ответ неверный:(")
fail += 1
else:
print("Непредусмотренное значение")
elif op == 2:
# -
while a < b:
a = random.randint(1, 10)
b = random.randint(1, 10)
c = int(input(f"{a} - {b} = ?: "))
if c == a - b:
print("Верно! Продолжай в том же духе!")
win += 1
elif c != a - b:
print("Ответ неверный:(")
fail += 1
else:
print("Непредусмотренное значение")
elif op == 3:
# //
while not (a % b) == 0 and a < b:
a = random.randint(1, 10)
b = random.randint(1, 10)
if a % b == 0 and (a > b or a == b):
c = int(input(f"{a} / {b} = ?: "))
if c == a // b:
print("Верно! Продолжай в том же духе!")
win += 1
elif c != a // b:
print("Ответ неверный:(")
fail += 1
else:
print("Непредусмотренное значение")
elif op == 4:
# *
c = int(input(f"{a} * {b} = ?: "))
if c == a * b:
print("Верно! Продолжай в том же духе!")
win += 1
elif c != a * b:
print("Ответ неверный:(")
fail += 1
else:
print("Непредусмотренное значение")
if fail > 0:
zn = win / fail * 100
zn = int(zn)
zn = float(zn) / 100
print(f"""
Итого:
верных ответов - {win}
неверных - {fail}
{zn}% побед""")
elif fail == 0:
print(f"""Итого:
верных ответов - {win}
неверных - {fail}
100% побед""")