Явных ошибок не вижу, рабочий код. Разве что "except TypeError" лишено смысла.
По мелочам:
while life > 0 and count == 0:
не следует сравнивать с нулём: все встроенные типы могут возвращать логическое значение, будучи об этом спрошены условным оператором :)
Например:
if not []:
print('[] вернул False')
if [1, 2, 3]:
print('[1, 2, 3] вернул True')
Для чисел - 0 возвращает False
Ну и основной цикл я бы подужал :)
......
else:
i = random.randint(1, 5)
ch, y = random.choice((('+', x + i), ('-', x - i), ('*', x * i), ('/', x / i)))
print('Случайная величина = ', i)
print('Результат действия = ', y)
if input('Что это было за действие?: ') == ch:
print(yes)
count += 1
else:
print(no)
life -= 1
print('Прав на ошибку - ', life)
if count == 10:
......