Добавил:
Vor_fleshek
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:нир / NIR_2_Dashin
.py#НИР часть 3
# А-02-20 Дашин И.Н.
import sqlite3
import sys
import os
from tabulate import tabulate
def getProfInput():
cmd=profMenu()
while cmd != "0":
if cmd == "1":
return "ИТ"
elif cmd == "2":
return "КЛ"
elif cmd == "3":
return "ГП"
elif cmd == "4":
return "МП"
else:
print("Такого профиля нет!")
cmd=profMenu()
return cmd
def getStatusInput():
cmd=statusMenu()
while cmd != "0":
if cmd == "1":
return "Университет "
elif cmd == "2":
return "Академия "
elif cmd == "3":
return "Институт "
elif cmd == "4":
return
else:
print("Такого статуса нет!")
cmd=statusMenu()
return cmd
def tableProfMag(prof):
con=sqlite3.connect('VUZ.sqlite')
cur=con.cursor()
sql="""SELECT z1
FROM vuzkart
JOIN vuzstat ON vuzkart.codvuz == vuzstat.codvuz
WHERE vuzstat.mag>0 AND prof=="{}";""".format(prof)
data = cur.execute(sql).fetchall()
cur.close()
con.close()
count=[]
for i in range(len(data)):
count.append(i+1)
headers = ["Полное наименование вуза"]
print('')
print(tabulate(data, headers=headers, showindex=count))
def tableStatus(status):
con=sqlite3.connect('VUZ.sqlite')
cur=con.cursor()
if status != None:
sql="""SELECT vuzkart.z1, vuzstat.mag, vuzstat.asp
FROM vuzkart
JOIN vuzstat ON vuzkart.codvuz== vuzstat.codvuz
WHERE status=="{}"
ORDER BY vuzkart.z1""".format(status)
else:
sql="""SELECT vuzkart.z1, vuzstat.mag, vuzstat.asp
FROM vuzkart
JOIN vuzstat ON vuzkart.codvuz== vuzstat.codvuz
ORDER BY vuzkart.z1"""
cur.execute(sql)
data=cur.fetchall()
cur.close()
con.close()
count=[]
for i in range(len(data)):
count.append(i+1)
if (data[i][1]!=0):
data[i]+=(round(data[i][2]/data[i][1],2),)
else: data[i]+=(0,)
mag=0
asp=0
for i in range(len(data)):
asp+=data[i][2]
mag+=data[i][1]
count.append("-")
if (mag!=0):
data+=(("ИТОГО", mag, asp, round(asp/mag,2)),)
else: data+=(("ИТОГО", mag, asp, 0),)
headers = ["Полное наименование вуза", "Количество магистров", "Количество аспирантов", "Отношение аспиранты/магистры"]
print('')
print(tabulate(data, headers=headers, showindex=count, tablefmt='orgtbl'))
def profMenu():
print('')
print("Доступные профили вузов:")
print('1) Инженерно-технический')
print('2) Классический университет')
print('3) Гуманитарно-педагогический')
print('4) Многопрофильный')
print('0) Выход из меню')
cmd = input('Выберите профиль вуза по номеру: ')
return cmd
def statusMenu():
print('')
print("Доступные статусы вузов:")
print('1) Университет')
print('2) Академия')
print('3) Институт')
print('4) Выбрать все')
print('0) Выход из меню')
cmd = input('Выберите статус вуза по номеру: ')
return cmd
def menu():
print('')
print('Меню:')
print('1) Выбрать профиль вуза и перечень полных наименований вузов, соответствующих выбранному профилю и имеющих подготовку магистров')
print('2) Выбрать статус вуза и получить информацию об обучающихся магистрах и аспирантах')
print('0) Завершить работу с программой')
cmd = input('Выберите действие: ')
return cmd
def main():
cmd=menu()
while cmd != "0":
if cmd == "1":
b = getProfInput()
if(b!="0"): tableProfMag(b)
elif cmd == "2":
a = getStatusInput()
if(a!="0"):tableStatus(a)
else:
print("Такой команды нет!")
cmd=menu()
return
main() #Вот и вся программа...
Соседние файлы в папке нир