Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding=utf-8
- import urllib.request, urllib.parse, re
- #ДАННЫЕ:
- mark = 214 # балл
- hostel = 0 # нуждаемость в общежитии да(1) нет (0)
- opt = urllib.parse.urlencode({'budjet':'Б', 'form': 'О', 'dep': '8', 'spec': 'Б-010400', 'listtype':'2', 'submit': 'Показать'})
- opt = opt.encode('utf-8')
- page = urllib.request.urlopen('http://priem.mai.ru/lists/', opt)
- page = page.read().decode('utf-8')
- page = page.replace('<nobr>','').replace('</nobr>','').replace('<br/>', ' ').replace('<td></td>','<td> </td>')
- ege = re.findall('<td>(.+?)</td>', page)
- del ege [0:11:1], ege [-4::1] # удаляем мусор
- # разбиваем на несколько списков
- names = ege[2::7] #имена
- marks = ege[4::7] # баллы (приоритет)
- ob = ege[3::7] # общежитие
- doc = ege[5::7] # тип документа
- # счётчики
- mesto_pmi = 1
- mesto_pm = 1
- mesto_hostel = 1
- s=0
- # удаляем всех копиистов
- #ОШИБКА В КОДЕ БЛЯДЬ!
- # fixed?
- for i in doc[:]:
- if i=='Копия' or i=='Забрал документы':
- doc.remove(i)
- del names[s], marks[s], ob[s]
- s-=1
- s+=1
- del i
- s=0
- p_o=0
- # удаляем всех, кто не проходит с общежитием
- o=27 #количество мест в общежитии
- for i in ob[:]:
- if o>0:
- if i=='Общежитие' or i=='Общежитие (Не согласен без общежития)' or i=='Общежитие (Согласен без общежития)':
- if marks[s][:3:1]== '&nb' or int(marks[s][:3:1])>=mark:
- mesto_hostel+=1
- o-=1
- else:
- p_o = marks[s-1]
- if i=='Общежитие (Не согласен без общежития)':
- ob.remove(i)
- del doc[s], names[s], marks[s]
- s-=1
- else: mesto_hostel+=1
- s=s+1
- del i
- # считаем место
- for i in marks:
- if i[-3::1]=='(1)' or i[-3::1]=='sp;':
- if i[:3:1]== '&nb' or int(i[:3:1])>=mark:
- mesto_pmi = mesto_pmi+1
- elif i[-3::1]=='(2)':
- if int(i[:3:1])>=mark:
- mesto_pm = mesto_pm+1
- # считаем проходной балл по факультету
- if len(marks)>=110:
- p = marks[110][0:3:1]
- print('Проходной балл по факультету: ', p)
- # выводим место в конкурсе
- print('ПМИ:', mesto_pmi,'/56','ПМ:', mesto_pm, '/54')
- # разбираемся с общежитием
- if hostel == 1:
- if p_o!=0:
- print('Общежитие:', mesto_hostel, '/27 ', 'проходной балл с общежитием:', p_o[0:3:1])
- else: print('Общежитие:', mesto_hostel, '/27')
- del i
- s=0
- # выводим список поступающих на данный момент:
- for i in marks:
- if i==' ':
- marks[s]='б/э'
- s+=1
- del i
- s=0
- for i in ob:
- if i==' ':
- ob[s]=''
- s+=1
- del i
- s=0
- for i in names:
- if s<109:
- print(s+1, i, marks[s][0:3:1], ob[s])
- s+=1
- input()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement