Initial commit
This commit is contained in:
commit
d27394b502
|
@ -0,0 +1,126 @@
|
|||
# devmusor
|
||||
test_module/
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
pip-wheel-metadata/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# pipenv
|
||||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||
# install all needed dependencies.
|
||||
#Pipfile.lock
|
||||
|
||||
# celery beat schedule file
|
||||
celerybeat-schedule
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
|
@ -0,0 +1,83 @@
|
|||
metodi
|
||||
=============
|
||||
|
||||
bts metodi 1
|
||||
|
||||
--------
|
||||
|
||||
### Windows
|
||||
|
||||
1. *Installing Git and Python:*
|
||||
|
||||
* [Git for Windows](https://git-scm.com/downloads/)
|
||||
* [Download python 3.x](https://www.python.org/downloads/)
|
||||
|
||||
2. *Cloning the Repository:*
|
||||
|
||||
git clone https://git.dota2.pw/cheykrym/metodi.git
|
||||
cd metodi
|
||||
|
||||
3. *Creating a Virtual Environment:*
|
||||
|
||||
python -m venv env
|
||||
|
||||
4. *Installing Dependencies:*
|
||||
|
||||
.\env\Scripts\pip.exe install -r .\requirements.txt
|
||||
|
||||
5. *Running the Project:*
|
||||
|
||||
.\env\Scripts\python.exe .\main.py
|
||||
|
||||
### Mac
|
||||
|
||||
1. *Installing Git and Python:*
|
||||
|
||||
-
|
||||
|
||||
2. *Cloning the Repository:*
|
||||
|
||||
git clone https://git.dota2.pw/cheykrym/metodi.git
|
||||
cd metodi
|
||||
|
||||
3. *Creating a Virtual Environment:*
|
||||
|
||||
python3 -m venv env
|
||||
|
||||
4. *Installing Dependencies:*
|
||||
|
||||
. ./env/bin/activate
|
||||
pip3 install -r requirements.txt
|
||||
deactivate
|
||||
|
||||
5. *Running the Project:*
|
||||
|
||||
env/bin/python3 main.py
|
||||
|
||||
### Linux
|
||||
|
||||
1. *Installing Git and Python:*
|
||||
|
||||
sudo apt update
|
||||
sudo apt -y install git
|
||||
sudo apt -y install python3
|
||||
sudo apt -y install python3-pip
|
||||
|
||||
2. *Cloning the Repository:*
|
||||
|
||||
git clone https://git.dota2.pw/cheykrym/metodi.git
|
||||
cd metodi
|
||||
|
||||
3. *Creating a Virtual Environment:*
|
||||
|
||||
python3 -m venv env
|
||||
|
||||
4. *Installing Dependencies:*
|
||||
|
||||
. ./env/bin/activate
|
||||
pip3 install -r requirements.txt
|
||||
deactivate
|
||||
|
||||
5. *Running the Project:*
|
||||
|
||||
env/bin/python3 main.py
|
|
@ -0,0 +1,59 @@
|
|||
import math
|
||||
|
||||
|
||||
class labTest:
|
||||
|
||||
def __init__(self):
|
||||
pass # Конструктор пока пустой, при необходимости можно добавить параметры
|
||||
|
||||
def calc_roots(self, a, b, c):
|
||||
if a == 0:
|
||||
raise ValueError("Невозможно найти корни, так как уравнение не является квадратным.")
|
||||
|
||||
# дискриминант
|
||||
discriminant = b ** 2 - 4 * a * c
|
||||
print(f"Дискриминант равен {discriminant:.2f}, ", end='')
|
||||
|
||||
if discriminant > 0:
|
||||
print("уравнение имеет 2 различных вещественных корня.")
|
||||
# Два различных корня
|
||||
x1 = (-b + math.sqrt(discriminant)) / (2 * a)
|
||||
x2 = (-b - math.sqrt(discriminant)) / (2 * a)
|
||||
return [round(x1, 2), round(x2, 2)]
|
||||
|
||||
elif discriminant == 0:
|
||||
print("уравнение имеет 1 вещественный корень.")
|
||||
# Один корень
|
||||
x = -b / (2 * a)
|
||||
return [round(x, 2)]
|
||||
|
||||
else:
|
||||
print("уравнение не имеет вещественных корней.")
|
||||
# Нет вещественных корней
|
||||
return []
|
||||
|
||||
# Коэффициенты уравнения
|
||||
# a, b, c = 0, -3, 2 // 1 -3 2
|
||||
|
||||
def main(self, a, b, c):
|
||||
try:
|
||||
X = self.calc_roots(a, b, c)
|
||||
if X:
|
||||
print(f"Корни уравнения: {', '.join(map(str, X))}.")
|
||||
else:
|
||||
print("Корни уравнения отсутствуют.")
|
||||
except ValueError as e:
|
||||
print(e)
|
||||
|
||||
def start(self):
|
||||
try:
|
||||
a = int(input("Введите a: "))
|
||||
b = int(input("Введите b: "))
|
||||
c = int(input("Введите c: "))
|
||||
self.main(a, b, c)
|
||||
except ValueError:
|
||||
print("Ошибка ввода: необходимо ввести целые числа для a, b и c.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
lab_test = labTest()
|
||||
lab_test.start()
|
|
@ -0,0 +1,72 @@
|
|||
from app.utils.system import clear_console
|
||||
|
||||
# from app.zadachi.lab1 import lab1
|
||||
# from app.zadachi.lab2 import lab2
|
||||
# from app.zadachi.lab3 import lab3
|
||||
# from app.zadachi.lab4 import lab4
|
||||
# from app.zadachi.lab5 import lab5
|
||||
# from app.zadachi.lab6 import lab6
|
||||
# from app.zadachi.lab7 import lab7
|
||||
from app.labs.labTest import labTest
|
||||
|
||||
class menu:
|
||||
|
||||
def __init__(self):
|
||||
pass # Конструктор пока пустой, при необходимости можно добавить параметры
|
||||
|
||||
def main_menu(self):
|
||||
clear_console()
|
||||
while True:
|
||||
print('\nMain Menu:')
|
||||
print('1. Задача 1 (Не работает)')
|
||||
print('2. Задача 2 (Не работает)')
|
||||
print('3. Задача 3 (Не работает)')
|
||||
print('4. Задача 4 (Не работает)')
|
||||
print('5. Задача 5 (Не работает)')
|
||||
print('6. Задача 6 (Не работает)')
|
||||
print('7. Задача 7 (Не работает)')
|
||||
print('8. Задача Test')
|
||||
print('0. Exit')
|
||||
|
||||
choice = input('Select an option: ')
|
||||
|
||||
clear_console()
|
||||
if choice == '1':
|
||||
pass
|
||||
# elif choice == '2':
|
||||
# self.lab2_menu() # Переход к подменю Задачи 2
|
||||
# elif choice == '3':
|
||||
# self.lab3_menu() # Переход к подменю Задачи 3
|
||||
# elif choice == '4':
|
||||
# self.lab4_menu() # Добавлен вызов меню задачи 4
|
||||
elif choice == '8':
|
||||
self.labTest_menu() # Добавлен вызов меню задачи 5
|
||||
elif choice == '0':
|
||||
print('Exiting program...')
|
||||
break
|
||||
else:
|
||||
print('Invalid option')
|
||||
|
||||
|
||||
|
||||
def labTest_menu(self):
|
||||
"""Меню для задачи Тест"""
|
||||
clear_console()
|
||||
lT = labTest()
|
||||
|
||||
while True:
|
||||
print('\nЗадача Тест:')
|
||||
print('1. Рассчитать значение дискриминанта и по результату выдать в консоль сообщение, сколько вещественных корней имеет уравнение.')
|
||||
print('0. Назад')
|
||||
|
||||
choice = input('Выберите подкатегорию: ')
|
||||
|
||||
clear_console()
|
||||
|
||||
if choice == '1':
|
||||
|
||||
lT.start()
|
||||
elif choice == '0':
|
||||
break
|
||||
else:
|
||||
print('Неверный выбор, попробуйте снова.')
|
|
@ -0,0 +1 @@
|
|||
debug=0
|
|
@ -0,0 +1,10 @@
|
|||
import os
|
||||
import platform
|
||||
|
||||
def clear_console():
|
||||
"""Очистить консоль в зависимости от операционной системы."""
|
||||
os_name = platform.system()
|
||||
if os_name == 'Windows':
|
||||
os.system('cls')
|
||||
else:
|
||||
os.system('clear')
|
|
@ -0,0 +1,11 @@
|
|||
from app.utils.config import debug
|
||||
from app.menu_load import menu
|
||||
|
||||
if __name__ == "__main__":
|
||||
if debug == True:
|
||||
print("Running in debug mode...")
|
||||
from test_module.debug_main import debug_main_start
|
||||
debug_main_start()
|
||||
else:
|
||||
mn = menu()
|
||||
mn.main_menu()
|
|
@ -0,0 +1,2 @@
|
|||
numpy==2.1.2
|
||||
matplotlib==3.9.2
|
Loading…
Reference in New Issue