A megoldások a javítási útmutatókkal együtt letölthetők, ennek ellenére az alábbi linken megtalálod a saját C# megoldásaimat Konzolprogram: (Program.cs) https://github.com/ztibor/ztibor/tree/main/OrvosiNobeldijasok Grafikus alkalmazás (Form1.cs) https://github.com/ztibor/ztibor/tree/main/OrvosiNobeldijasokGUI
class Test: def __init__(self,sor): s=sor.strip().split(';') self.tipus=s[0] self.cim=s[1]
def Req(maddr): if maddr in dberelt.keys(): return 0 else: if maddr in dreserv.keys(): kiIP=dreserv[maddr] if kiIP in dberelt.values(): return -1 else: i=100 while i< 199: kiIP = '192.168.10.' + str(i) if kiIP in dberelt.values(): i+=1 elif kiIP in lexcl: i+=1 elif kiIP in dreserv.values(): i+=1 else: break if i>=199: return -2 dberelt[maddr]=kiIP return 1
def Rel(ip): i=0 it=[(k,v) for k,v in dberelt.items() if v==ip] if len(it)!=0: dberelt.pop(it[0][0]) return 1 else: return -1
#1. feladat lexcl=set() f=open('excluded.csv') for k in f.readlines(): lexcl.add(k) f.close() dreserv={} f=open('reserved.csv') for k in f.readlines(): ob=MacIP(k) dreserv[ob.MAC]=ob.IP f.close() dberelt={} f=open('dhcp.csv') for k in f.readlines(): ob=MacIP(k) dberelt[ob.MAC]=ob.IP f.close() ltest=[] f=open('test.csv') for k in f.readlines(): ltest.append(Test(k)) f.close()
#2. feladat for k in ltest: if k.tipus=='request': Req(k.cim) else: Rel(k.cim)
#3. feladat ki=[] for k in dberelt.keys(): ki.append(k+';'+dberelt[k]+'
') f=open('dhcp_kesz.csv','w') f.writelines(ki) f.close()