Python Math: создайте простой математический тест
Python Math: упражнение 63 с решением
Напишите программу на Python для создания простого математического теста.
Пример решения : -
Код Python:
import random
#https://gist.github.com/cwil323/9b1bfd25523f75d361879adfed550be2
def display_intro():
title ="** A Simple Math Quiz **"
print("*" * len(title))
print(title)
print("*" * len(title))
def display_menu():
menu_list = ["1. Addition", "2. Subtraction", "3. Multiplication", "4. Integer Division", "5. Exit"]
print(menu_list[0])
print(menu_list[1])
print(menu_list[2])
print(menu_list[3])
print(menu_list[4])
def display_separator():
print("-" * 24)
def get_user_input():
user_input = int(input("Enter your choice: "))
while user_input > 5 or user_input <= 0:
print("Invalid menu option.")
user_input = int(input("Please try again: "))
else:
return user_input
def get_user_solution(problem):
print("Enter your answer")
print(problem, end="")
result = int(input(" ="))
return result
def check_solution(user_solution, solution, count):
if user_solution == solution:
count = count + 1
print("Correct.")
return count
else:
print("Incorrect.")
return count
def menu_option(index, count):
number_one = random.randrange(1, 21)
number_two = random.randrange(1, 21)
if index is 1:
problem = str(number_one) + " + " + str(number_two)
solution = number_one + number_two
user_solution = get_user_solution(problem)
count = check_solution(user_solution, solution, count)
return count
elif index is 2:
problem = str(number_one) + " - " + str(number_two)
solution = number_one - number_two
user_solution = get_user_solution(problem)
count = check_solution(user_solution, solution, count)
return count
elif index is 3:
problem = str(number_one) + " * " + str(number_two)
solution = number_one * number_two
user_solution = get_user_solution(problem)
count = check_solution(user_solution, solution, count)
return count
else:
problem = str(number_one) + " // " + str(number_two)
solution = number_one // number_two
user_solution = get_user_solution(problem)
count = check_solution(user_solution, solution, count)
return count
def display_result(total, correct):
if total > 0:
result = correct / total
percentage = round((result * 100), 2)
if total == 0:
percentage = 0
print("You answered", total, "questions with", correct, "correct.")
print("Your score is ", percentage, "%. Thank you.", sep = "")
def main():
display_intro()
display_menu()
display_separator()
option = get_user_input()
total = 0
correct = 0
while option != 5:
total = total + 1
correct = menu_option(option, correct)
option = get_user_input()
print("Exit the quiz.")
display_separator()
display_result(total, correct)
main()
Пример вывода:
************************ ** Простой математический тест ** ************************ 1. Дополнение 2. Вычитание 3. Умножение 4. Целочисленное деление 5. Выход ------------------------ Введите ваш выбор: 1 Введите свой ответ 16 + 16 = 32 Правильный. Введите ваш выбор: 5 Выйдите из викторины. ------------------------ Вы ответили на 1 вопрос с 1 правильным. Ваша оценка 100,0%. Спасибо.
Блок - схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу на Python для расчета сетки координат шестиугольника заданного радиуса с учетом нижних левых и верхних правых координат. Функция вернет список списков, содержащий 6 наборов координат точек x, y. Их можно использовать для построения правильных правильных шестиугольных многоугольников.
Далее: Напишите программу на Python для расчета объема тетраэдра.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования