Python az iskolában Wiki
Advertisement

Kód

with open('verseny.txt','r') as f:
    darab = int(f.readline())
    loves = f.readlines()
print('1. feladat - adatbeolvasás')
print('2. feladat - A következőknek van 2 egymást követő találata:')
ketto = ''
for i in range(darab):
    if '++' in loves[i]:
        ketto = ketto + str(i+1)+' '
print(ketto)
print('3. feladat - a legtöbb lövést leadó versenyző:')
lovesszam=[]
for i in range(darab):
    lovesszam.append((len(loves[i])-1))
legtobb = max(lovesszam)
ltlott = []
for i in range (darab) :
    if lovesszam[i] == legtobb:
        ltlott.append(i+1)
print(ltlott)
print('4. feladat - függvény')
def loertek(sor):
    ertek = 0
    aktpont = 20
    for i in range(len(sor)-1):
        if (aktpont > 0 and sor[i]=='-'):
            aktpont = aktpont-1
        else:
            ertek = ertek+aktpont
    return ertek
print('5. feladat')
sor = int(input('Hányas sorszámú versenyző adatait kéri?: '))-1
talal_sorszam = ''
for i in range(len(loves[sor])-1):
    if loves[sor][i] == '+':
        talal_sorszam = talal_sorszam + ' '+ str(i+1)
print('A következő lövések találtak:', talal_sorszam)
sorozat = []
db = 0
for i in range(len(loves[sor])-1):
    if loves[sor][i] == '+':
        db = db+1
        sorozat.append(db)
    else:
        db = 0
print('A leghosszabb hibátlan sorozat hossza: ',max(sorozat))
print('Elért pontszáma: ',loertek(loves[sor]))
print('6. feladat - a verseny végeredménye - sorrend.txt')
f = open ('sorrend.txt','w')
lista = []
ertek = []
for i in range(darab):
    lista.append(i+1)
    ertek.append(loertek(loves[i]))
rendezett = sorted(zip(ertek,lista),reverse = True)
j = 1
k = 1
f.write('1'+'\t'+str(rendezett[0][1])+'\t'+str(rendezett[0][0])+'\n')
for i in range(1,darab):
    if rendezett[i][0] == rendezett[i-1][0]:
        f.write(str(j)+'\t'+str(rendezett[i][1])+'\t'+str(rendezett[i][0])+'\n')
        k = k+1
    else:
        f.write(str(i+1)+'\t'+str(rendezett[i][1])+'\t'+str(rendezett[i][0])+'\n')
        j = j+k
        k = 1
f.close()

 

Advertisement