Помогите пожайлуста!!!!!Программирывание в Python..............Написать мини игру...

+750 голосов
4.1m просмотров

Помогите пожайлуста!!!!!Программирывание в Python..............Написать мини игру -Гимнастика для мозга Программа генерирует два числа до 20 и арифметическое действие (сложить вычесть, умножить)Выводит в консоль пример из этих чисел и действияПредлагает дать ответ, если ответ правильный то выводит Молодец! если нет то Подумай!!! и переходит к следующему примеру , всего вопросов генерируется 10 и в конце выводится Вы правильно ответили на _____ примеров


Информатика (74 баллов) | 4.1m просмотров
+56

сама

+103

очень выручил

+57

Спасибо большоее!!!!!!!!

Дан 1 ответ
+184 голосов

Ответ:

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

Объяснение:

(1.6k баллов)
+65

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