Задача: Тренажер таблицы умножения

Опубликован: 25.11.2024 39

Условие: напишите программу "Тренажер таблицы умножения", которая должна выводить:

  • название программы и ее версию;
  • меню - вывод таблицы умножения (для повторения), запуск тренажера или выход из программы;
  • после каждой попытки ответа пользователя программа должна выводить сообщение о правильности ответа и запрашивать подтверждение на продолжение работы программы либо выход из нее, а в случае неправильного ответа помимо сообщения об ошибке программа должна выводить еще и правильный ответ.

Вывод таблицы умножения и запуск тренажера оформите в виде функций.

Например:

Тренажер таблицы умножения, версия 1.0.

  • Вывести таблицу умножения: t
  • Запустить тренажер: r
  • Выйти из программы: q
  • Выберите действие: r

4 * 4 = 16

Верно!

Продолжить / Меню (any_key / m): d

7 * 2 = 35

Вы ошиблись!

7 * 2 = 14

Продолжить / Меню (any_key / m):

Решение:

import random


# функция вывода таблицы умножения
def print_mult_table():
    t1 = f"{'-'*4}+{'-'*38}"
    print(t1, end='\n')
    print(f"| x |   1   2   3   4   5   6   7   8   9 |", end='\n')
    print(t1, end='\n')
    for i in range(1, 10):
        print(f"| {i} |", end='')
        for j in range(1, 10):
            print(f"  {j*i:>2}", end='')
        print(' |', end='\n')
    print(t1, end='\n')


# функция тренажера таблицы умножения
def trainer():
    while True:
        n1 = random.choice(range(1, 10))
        n2 = random.choice(range(1, 10))
        res = int(input(f"{n1} * {n2} = "))
        if res == n1 * n2:
            print("Верно!")
        else:
            print("Вы ошиблись!")
            print(f"{n1} * {n2} = {n1 * n2}")

        key = input("Продолжить / Меню (any_key / m): ")
        if key == 'm':
            return


def main():
    print("Тренажер таблицы умножения, версия 1.0.")
    print()
    while True:
        print("Вывести таблицу умножения: t")
        print("Запустить тренажер: r")
        print("Выйти из программы: q")
        menu = input("Выберите действие: ")
        if menu == 't':
            print_mult_table()
        elif menu == 'r':
            trainer()
        elif menu == 'q':
            return


if __name__ == '__main__':
    main()

Похожие посты

Задача: Решение квадратного уравнения

Задача: Наибольший числовой палиндром

Задача: Разложение числа на простые множители

Задача: Наибольший общий делитель

Комментариев нет.