#Python import math adatok = open("snooker.txt", "r", encoding = 'utf-8') elemek=adatok.readlines() adatok.close() hely=[] nev=[] orszag=[] penz=[] def f (x): print(x,". feladat.") for i in range(1,len(elemek)): oszlop=elemek[i].split(';') hely.append(oszlop[0]) nev.append(oszlop[1]) orszag.append(oszlop[2]) penz.append(oszlop[3]) f(1) f(2) print("Adatok beolvasva.") f(3) print("A listan ",len(nev)," versenyző szerepel."); össz=0 lt=0 norveg="nincs" A,K,S,W=0,0,0,0 for i in range(len(hely)): össz=int(penz[i])+össz if ((orszag[i]=="Kína") and int(penz[i])>int(penz[lt])): lt=i if (orszag[i]=="Norvégia"): norveg="van" if (orszag[i]=="Kína"): K=K+1 if (orszag[i]=="Anglia"): A=A+1 if (orszag[i]=="Wales"): W=W+1 if (orszag[i]=="Skócia"): S=S+1 f(4) print("Az díj értékek átlaga fontban: ", round((össz/len(penz))*100)*0.01) f(5) print("A legjobb Kínai versenyző adatai: ") print(" Helyezés: ",hely[lt]) print(" Név: ",nev[lt]) print(" Ország: ",orszag[lt]) print(" Díj forintban: ",int(penz[lt])*380) f(6) print("A versenyzők között ",norveg," Norvég.") f(7) print("Statisztika:") print(" Kína - ",K) print(" Anglia - ",A) print(" Wales - ",W) print(" Skócia - ",S)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Threading.Tasks; namespace snooker { class Program { struct snook { public int rajtszam; public string nev; public string orszag; public int penz; } static void p() { Console.ReadKey(); } static void print(string p) { Console.WriteLine(p); } static void f(int s) { Console.WriteLine(s + ". Feladat."); } static void Main(string[] args) { List< snook> SL = new List< snook>(); string[] betxt = File.ReadAllLines("snooker.txt", Encoding.UTF7); for (int i = 1; i < betxt.Count(); i++) { if(betxt[i].Length>0) { string[] sorok = betxt[i].Split(';'); snook uj = new snook(); uj.rajtszam=Convert.ToInt32((sorok[0]));//helyez uj.nev= (sorok[1]);//nev uj.orszag=(sorok[2]);//orszag uj.penz=Convert.ToInt32(sorok[3]);//díj SL.Add(uj); } } f(1); f(2); print("Adatok beolvasva és tárolva."); f(3); print(SL.Count () + " versenyző adatát tartalmazza az állomány."); f(4); int össz = 0; int ln = 0; bool norveg = false; int[] db = new int[5]; for (int F = 0; F < SL.Count; F++) { össz = SL[F].penz + össz; if ((SL[F].orszag == "Kína") && (SL[F].penz > SL[ln].penz)) { ln = F; } if(SL[F].orszag == "Norvégia") { norveg = true; } if (SL[F].orszag == "Skócia") { db[4]++; } if (SL[F].orszag == "Wales") { db[3]++; } if (SL[F].orszag == "Anglia") { db[2]++; } if (SL[F].orszag == "Kína") { db[1]++; } } Console.WriteLine("Az átlag díjérték :"+Convert.ToDouble(össz/SL.Count())); f(5); Console.WriteLine("A legjobban kereső Kínai versenyző: "); Console.WriteLine(" Helyzés: "+SL[ln].rajtszam); Console.WriteLine(" Név: "+SL[ln].nev); Console.WriteLine(" Orszag: "+ SL[ln].orszag); Console.WriteLine(" Nyeremény összeg forintban: "+SL[ln].penz * 380); f(6); if (norveg == true){ print("Van Norvég versenyző."); } f(7); Console.WriteLine("Statisztika: "); Console.WriteLine(" Kína - " + db[1] + " fő."); Console.WriteLine(" Anglia - " + db[2] + " fő."); Console.WriteLine(" Wales - " + db[3] + " fő."); Console.WriteLine(" Skócia - " + db[4] + " fő."); p(); } } }
adatok = open("szeptember.csv", "r", encoding = 'utf-8') sorok=adatok.readlines() adatok.close() nevek=[] osztaly=[] Enap=[] Unap=[] Logas=[] hianyzas=[] részL={} for sor in sorok: részL=(sor.split(";")) nevek.append(részL[0]) osztaly.append(részL[1]) Enap.append(részL[2]) Unap.append(részL[3]) Logas.append(részL[4]) print("Osztály névsor: ",nevek) összL=0 for i in range(1,len(Logas)): összL=(int(Logas[i])+összL) print(" Az összes lógás száma: ",összL," óra") névbe=input(' Adjon meg egy nevet: ') nap=int(input("Adja meg a napot: ")) lógás=False for h in range(1,len(nevek)): if((int(Enap[h])==nap) and (nevek[h]==névbe)): lógás=True if((int(Enap[h])==nap) and (nevek[h]!=névbe)): hianyzas.append((nevek[h]+" "+osztaly[h])) if (lógás==True): print(névbe," lógott",nap,".napon") else: print(névbe," NEM lógott a ",nap,".napon") if (len(hianyzas))==0: print(" Az adott napon más nem lógott.") else: print(" Az adott napon lógott még: ",hianyzas) print(" Hiányzások osztályonkénti bontásban: ") oSzam=set(osztaly) db=[] X=0 for g in oSzam: # osztályok rendezése db.append(g) db.sort(reverse = False) db.pop() #utolsó listaelem "osztaly" eltávolitása ? hogy ne legyen benne gyujt=[0] # 0 val indított lista hogy az első elemből lehessen kivonni for z in range (len(db)): for m in range(1,len(Logas)): if(osztaly[m]==db[z]): X=(int(Logas[m])+X) gyujt.append(X) N=0# szamlaló deklarál ki=[] osztL=[] Logok=0 txt=[] f = open("logas.csv", "w") for w in range(len(gyujt)-1): N=N+1 C=N-1 #szamlaló "-1"deklarál Logok=gyujt[N]-gyujt[C] osztL.append(Logok) print(db[w],Logok) for LO in range(len(osztL)): txt.append(str(db[LO])+" "+str(osztL[LO])+" ") txt.append(" ") # ? miért kell hozzáadni? 65 sor miatt? ig=(len(txt)) for ki in range(0,ig): f = open("logas.csv", "a") f.write(txt[ki]) f.close#.............................................................
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Timers; using System.Threading.Tasks; namespace hiányzások { class Program { struct tanulok { public string nev; public string osztály; public int nap1; public int napU; public int Lóg; } static void Main(string[] args) { List< tanulok> LISTAtan = new List< tanulok>(); string[] txt = File.ReadAllLines(@"szeptember.csv", Encoding.UTF8); //ansi =UTF7 for (int s = 1; s < txt.Count(); s++) { if (txt[s].Length > 0) { string[] so = txt[s].Split(';'); tanulok adat = new tanulok(); adat.nev = so[0]; adat.osztály = so[1]; adat.nap1 = Convert.ToInt32(so[2]); adat.napU = Convert.ToInt32(so[3]); adat.Lóg = Convert.ToInt32(so[4]); LISTAtan.Add(adat); } } bool találat = false; int t; string nevek; int cÖsszz = 0; string[] nevsor = new string[LISTAtan.Count]; Console.WriteLine("1.Feladat :A beolvasott OSZTÁLY NÉVSOR : "); for (t = 0; t < LISTAtan.Count; t++) //névsor tagolása 20 név ig-után { cÖsszz += LISTAtan[t].Lóg; if (t == 20) { Console.WriteLine(" "); } Console.Write(LISTAtan[t].nev + (" ")); } Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" 2.Feladat: A Lógások száma szeptemberben: " + cÖsszz + " óra"); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" 3.Feladat: Kerestett nap 1 és 30 között ?:"); int nap = Convert.ToInt32(Console.ReadLine()); Console.Write("Tanulo Neve ?:"); Console.ForegroundColor = ConsoleColor.Black; Console.BackgroundColor = ConsoleColor.Green; string TANNEVE = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.White; Console.BackgroundColor = ConsoleColor.Black; string oszt = "";//osztály azonosító változó kiíráshoz bool szeptH = false; bool masikN = false;//szeptemberi és másik nap eldöntő változója List< string> MásokL = new List< string>(); for (int x = 0; x < LISTAtan.Count(); x++) { if ((LISTAtan[x].nap1 == nap) && (LISTAtan[x].nev == TANNEVE)) { találat = true; } if (LISTAtan[x].nev == TANNEVE) { oszt = LISTAtan[x].osztály; } //osztály azonosító megjelölése if ((LISTAtan[x].nap1 != nap) && (LISTAtan[x].nev == TANNEVE) && (LISTAtan[x].nap1 > 0)) { masikN = true; } if ((LISTAtan[x].nap1 == nap) && (LISTAtan[x].nev != TANNEVE)) { MásokL.Add("Szeptember "+nap+".nap "+LISTAtan[x].nev+" ("+LISTAtan[x].osztály+")") ;szeptH = true; } } if (találat == true) { Console.WriteLine(" 4.Feladat: "+ TANNEVE + " a " + nap + ".napon, a " + oszt + ".-osztályból lógott!"); } else { Console.WriteLine(" 4.Feladat: "+TANNEVE + " a " + nap + ".napon, " + " NEM lógott a " + oszt + ".-osztályból. "); } if (masikN== true){ Console.WriteLine(" "+TANNEVE + " Szeptemberben ,amúgy lógott egy másik napon."); } else { Console.WriteLine(" "+TANNEVE + " Másik Szeptemberi napon, nem lógott. "); } if (szeptH == false) { Console.WriteLine(" 5.Feladat: A " + nap + ". nap szeptemberben nem lógott senki."); } else { Console.WriteLine(" 5.Feladat: Más lógók az adott napon: "); foreach (string m in MásokL) Console.WriteLine(m); } Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine(" 6:Feladat: Az osztályonkénti hiányzások összesítve osztályonként : "); List< string> osztalyokSzam = new List< string>();// Osztályok legenerlása listába int c = 0; for (int sz = 1; sz < 17; sz++) { if (sz < 9) { osztalyokSzam.Add(sz + "a"); } //1a tól 8b .ig (0-15)bekerülnek a "osztályokszám" Listába else { c++; osztalyokSzam.Add(c + "b"); } } int g; int[] osztperlógas = new int[LISTAtan.Count];string[] osztLóg = new string[osztalyokSzam.Count]; for (g = 0; g < osztalyokSzam.Count(); g++) { foreach(tanulok e in LISTAtan) { if (e.osztály == osztalyokSzam[g]) {osztperlógas[g] += e.Lóg; } } // Console.WriteLine(osztalyokSzam[g] + ". osztályból " + " lógások " + " " + osztperlógas[g]+" óra"); osztLóg[g] = osztalyokSzam[g] + ".osztályból " + " lógások " + " " + osztperlógas[g] + " óra"; } File.WriteAllLines("logas.csv", osztLóg,Encoding.UTF8); Console.WriteLine(" Összesítés kiírva : logas.csv File.ba és beolvasva: "); string[] beolvas = File.ReadAllLines(@"logas.csv", Encoding.UTF8); //ansi =UTF7 foreach (string be in beolvas) Console.WriteLine(be); Console.ReadKey(); } } }
# Python megoldás 2 #Elkészült a 2.0 verzió #Try - Catch -kiegészítés és dátum rendezéssel. import datetime adat = open("lift.txt", "r", encoding = 'utf-8') sorok =adat.readlines() adat.close() datumok=[] indE=[] érkE=[] Kszam=[] részL=[] datÉv=[] datHó=[] datNap=[] dnap=[] import datetime as dt for sor in sorok: if len(sor)>0 and len(sor)< =1000: részL=sor.strip(" ") datumok.append(részL[0:11]) datÉv.append(részL[0:4]) datHó.append(részL[5:7]) datNap.append(részL[8:11]) Kszam.append(részL[12:14]) indE.append(részL[14:16]) érkE.append(részL[16:18]) dt=datumok dt.sort(reverse = False) print("A Liftet: ",len(datumok)," alkalommal használták") print ("A követező időközben: ",datumok[0],"-",datumok[len(datumok)-1]) max=int(érkE[0]) for e in érkE: if (int(e)) > max: max = (int(e)) print("A legmagasabb emelet amelyre, utaztak:", max) kmx = int(Kszam[0]) # legnagyobb kártyaszám megatározása for k in Kszam: if (int(k))> kmx: kmx =(int(k)) print("") KszamKér=0 EszamKér=0 try: KszamKér=int(input("Adjon meg egy kártyaszámot: ")) except (TypeError,ValueError): print("Nem megfelelő, bemeneti értéket adott meg !") print("") if ((int(KszamKér)) < = kmx and (int(KszamKér)) >= 1): létezöK=True else: KszamKér = 5 print ("Nincs ilyen Kártya , így az 5-számú kártyával számolt tovább a program!") print("") try: EszamKér=int(input("Adjon meg egy emeletszamot: ")) except (TypeError,ValueError): print("Nem megfelelő, bemeneti értéket adott meg !") print("") utaz=[] for i in range(0,len(datumok)): if((int(Kszam[i])==KszamKér) or (int(érkE[i])==EszamKér)): utaz.append(i) else: EszamKér=5 if (len(utaz))>0: print("Történt utazás: ",KszamKér,". kártyával a: ",EszamKér,". emeletre.") else: print("NEM törtrént utazás: ", KszamKér, ". kártyával a: ", EszamKér, ". emeletre.") print("") egyel=set(dt)# azonos datum elemek szelektálása db=[] for c in egyel:# szelektálás miatt felborult időrend visszarendez db.append(c) db.sort(reverse = False) print("A használatok száma dátumok szerint: ") print("") for i in db:# használatok bontásban COUNT ugyanazon elemeket számol ki print(i," napon",dt.count(i)," alkalommal használták a liftet.")
import datetime adat = open("lift.txt", "r", encoding = 'utf-8') sorok =adat.readlines() adat.close() datumok=[] indE=[] érkE=[] Kszam=[] részL=[] datÉv=[] datHó=[] datNap=[] dnap=[] import datetime as dt for sor in sorok: if len(sor)>0 and len(sor)< =1000: részL=sor.strip(" ") datumok.append(részL[0:11]) datÉv.append(részL[0:4]) datHó.append(részL[5:7]) datNap.append(részL[8:11]) Kszam.append(részL[12:14]) indE.append(részL[14:16]) érkE.append(részL[16:18]) dt=datumok print("A Liftet: ",len(datumok)," alkalommal használták") print ("A követező időközben: ",datumok[0],"-",datumok[len(datumok)-1]) max=int(érkE[0]) for e in érkE: if (int(e)) > max: max = (int(e)) print("A legmagasabb emelet amelyre, utaztak:", max) kmx = int(Kszam[0]) # legnagyobb kártyaszám megatározása for k in Kszam: if (int(k))> kmx: kmx =(int(k)) print("") KszamKér=int(input("Adjon meg egy kártyaszámot: ")) if ((int(KszamKér)) < = kmx and (int(KszamKér)) >= 1): létezöK=True else: KszamKér = 5 print ("Nincs ilyen Kártya , így az 5-számú kártyával számolt tovább a program!") EszamKér=int(input("Adjon meg egy emeletszamot: ")) print("") utaz=[] for i in range(0,len(datumok)): if((int(Kszam[i])==KszamKér) and (int(érkE[i])==EszamKér)): utaz.append(i) else: y=0 if (len(utaz))>0: print("Történt utazás: ",KszamKér,". kártyával a: ",EszamKér,". emeletre.") else: print("NEM törtrént utazás: ", KszamKér, ". kártyával a: ", EszamKér, ". emeletre.") print("") egyel=set(dt)# azonos datum elemek szelektálása print("A használatok száma dátumok szerint: ") print("") for i in egyel:# használatok bontásban print(i," napon",dt.count(i)," alkalommal használták a liftet.")
előző oldal | random oldal | következő oldal |