Помогите пожайлуста!!!!!Программирывание в Python..............Написать мини игру -Гимнастика для мозга

Программа генерирует два числа до 20 и арифметическое действие (сложить вычесть, умножить)

Выводит в консоль пример из этих чисел и действия

Предлагает дать ответ, если ответ правильный то выводит Молодец! если нет то Подумай!!! и переходит к следующему примеру , всего вопросов генерируется 10 и в конце выводится Вы правильно ответили на _____ примеров


Аноним: мало баллов даешь)
pillot113: это всё что у меня есть
pillot113: помогите пж
Аноним: щас напишу
pillot113: Спасибо большоее!!!!!!!!
pillot113: очень выручил
Аноним: генерация должна выполниться сама сразу,или когда человек ее вызовет?
pillot113: сама

Ответы

Ответ дал: KnowsUser1
1

Ответ:

import random

def GenEx(count):

   signs = ['+', '-', '*', '/']

   for _ in range(count):

       fn = random.randint(-20, 20)

       sn = random.randint(-20, 20)

       ex = '{0} {1} {2}'.format(fn, random.choice(signs), sn)

       yield (ex + ' = ?', eval(ex))

IsGameRun = True

while IsGameRun:

   TrueAnsws = 0

   for ex, check in GenEx(2):

       print(ex)

       resvAnsw = float(input())

       if resvAnsw == check: TrueAnsws += 1;

   

   IsRetry = input('You correctly solved '+str(TrueAnsws)+' examples. Do you want to try again? Y/N \n')

   if IsRetry == 'Y': IsGameRun = True

   else: IsGameRun = False

Объяснение:


KnowsUser1: P.S Есть недочёт - иногда программа выдаёт задачки, ответами к которым являются периодические или бесконечные десятичные дроби. Такой ответ программа никогда не засчитает правильным.
Вас заинтересует