Python az iskolában Wiki
Advertisement

A feladatok itt találhatók:

https://www.oktatas.hu/bin/content/dload/erettsegi/feladatok_2017tavasz_emelt/e_inf_17maj_fl.pdf

Forrásfájlok innen tölthetők le:

https://www.oktatas.hu/bin/content/dload/erettsegi/feladatok_2017tavasz_emelt/e_inffor_17maj_fl.zip Klasszikus megoldás:

print('1. feladat: adatok beolvasása')
f = open('valaszok.txt', 'r')
adatok = []
hvalasz = ''
x = f.readline()
x = x.strip()
hvalasz += x
#print(valaszok)
for sor in f:
    sor = sor.strip()
    sor = sor.split()
    adatok.append(sor)
#print(adatok)
#######################################################
print('\n2. hány versenyző vett részt a tesztversenyen?')
n = len(adatok)
print('A tesztversenyen résztvevők száma: ', n)
#######################################################
print('\n3. feladat: kérem a versenyző azonosítóját!')
azon = input()
print('A versenyző azonosítója =',azon)
for val in adatok:
    if val[0] == azon:
        print(val[1], '\t(a versenyző válasza)')
        valasz3 = val[1]
#######################################################
print('\n4. feladat: a helyes megoldások és a versenyző válaszai')
valasz = hvalasz + '    (a helyes válaszok)'
print(valasz)
valasz4 = ''
n4 = len(hvalasz)
for i in range(n4):
    if hvalasz[i] == valasz3[i]:
        valasz4 += '+'
    else:
        valasz4 += ' '
print('{0}\t(a versenyző helyes válaszai)'.format(valasz4))
#######################################################
print('\n5. feladat: hány versenyző adott helyes megoldást')
print('Kérem a feladat sorszámát!')
n5 = int(input())
db5 = 0
for valasz5 in adatok:
    if valasz5[1][n5] == hvalasz[n5]:
        db5 += 1
print('A feladatra {0} fő, a versenyzők {1} %-a adott helyes választ.'.format(db5, round(db5/n*100, 2)))
#######################################################
print('\n6. feladat: a versenyzők pontszámának meghatározása')
g = open('pontok.txt', 'w')
pontok = []
for valasz6 in adatok:
    pont6 = 0
    for i in range(14):
        if i <= 5 and valasz6[1][i] == hvalasz[i]:
            pont6 += 3
        if 6 <= i <= 10 and valasz6[1][i] == hvalasz[i]:
            pont6 += 4
        if 11 <= i <= 13 and valasz6[1][i] == hvalasz[i]:
            pont6 += 5
        if i == 14 and valasz6[1][i] == hvalasz[i]:
            pont6 += 6
    pontok.append(pont6)
#print(pontok)
for i6 in range(len(adatok)):
    ki6 = adatok[i6][0] + ' ' + str(pontok[i6]) + '\n'
    g.write(ki6)
g.close()   
########################################################
print('\n7. feladat: A verseny legjobbjai:')
pontok7 = []
for i in range(n):
    x = pontok[i]
    y = adatok[i][0]
    adat7 = [x, y]
    pontok7.append(adat7)
pont_rend = sorted(pontok7, reverse = True)
#print(pont_rend)
db = 1
i = 0
while db <= 3:
    print(db, '.díj','(',pont_rend[i][0], 'pont):', pont_rend[i][1])
    while pont_rend[i+1][0] == pont_rend[i][0]:
        i += 1
        print(db, '.díj','(',pont_rend[i][0], 'pont):', pont_rend[i][1])
    db += 1
    i += 1
Advertisement