implemented user interface

parent 9a166934
import typing as tp import typer
from tabulate import tabulate
import static_solvers
import dynamic_solvers import dynamic_solvers
import functions import functions
import static_solvers
from tabulate import tabulate
import typer
STATIC_METHODS = [ STATIC_METHODS = [
static_solvers.left_rectangle_method, static_solvers.left_rectangle_method,
...@@ -63,7 +60,32 @@ def main() -> None: ...@@ -63,7 +60,32 @@ def main() -> None:
typer.echo("Работу выполнили: Величко А.А., Галкин И.Ю., Егоров С.А., Адаев Р.М. ИВТ 2 курс\n") typer.echo("Работу выполнили: Величко А.А., Галкин И.Ю., Егоров С.А., Адаев Р.М. ИВТ 2 курс\n")
list_methods() list_methods()
while True:
method_num: int = typer.prompt("Выберите метод из списка и введите его номер", type=int)
if 1 <= method_num <= len(ALL_METHODS):
break
typer.echo(f"Номера {method_num} нет в списке")
method = ALL_METHODS[method_num - 1]
typer.echo(f"Выбран метод: {method.__doc__}")
list_functions() list_functions()
while True:
function_num: int = typer.prompt("Выберите функцию из списка и введите её номер", type=int)
if 1 <= function_num <= len(ALL_FUNCTIONS):
break
typer.echo(f"Номера {function_num} нет в списке")
function = ALL_FUNCTIONS[function_num - 1]
typer.echo(f"Выбрана функция: {function.__doc__}")
a: float = typer.prompt("Нижний предел интегрирования", type=float)
b: float = typer.prompt("Верхний предел интегрирования", type=float)
n: float = typer.prompt("Кол-во разбиений", type=int)
result: float = method(function, a, b, n)
typer.echo(f"Результат вычислений: {result}\n")
if __name__ == "__main__": if __name__ == "__main__":
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment