Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Python feladat

Főoldal » Középiskola » Informatika
538
Olvassuk be a nevek.txt fájlt és oldjuk meg az alábbi feladatokat.

#1. Hány diák van a listában?
#2. Hány 'a' osztályos diák van?
#3. Melyik a legutolsó év amikor osztályt indítottak?
#4. Kérjünk be egy betűt a felhasználótól és nézzük meg, van e ilyen kezdő betűs diák.
nevek.txt : https://codeshare.io/gLY1dB
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika

Válaszok

2
lista = []
with open('nevek.txt') as allomany:
    for sor in allomany:
        lista.append(sor.strip().split(';'))

#1. Hány diák van a listában?

print('Diákok száma:', len(lista))

#2. Hány 'a' osztályos diák van?

print('a osztályos diákok száma:', len(list(filter(lambda d: d[1] == 'a', lista))))

# vagy

print('a osztályos diákok száma:', len([d for d in lista if d[1] == 'a']))

# vagy

adarab = 0
for diak in lista:
    if diak[1] == 'a':
        adarab += 1
print('a osztályos diákok száma:', adarab)

#3. Melyik a legutolsó év amikor osztályt indítottak?

print('Utolsó év:', max(lista, key = lambda d: d[0])[0])

# vagy

print('Utolsó év:', max(map(lambda d: d[0], lista)))

# vagy

utolso = ''
for diak in lista:
    if utolso < diak[0]:
        utolso = diak[0]
print('Utolsó év:', utolso)

#4. Kérjünk be egy betűt a felhasználótól és nézzük meg, van e ilyen kezdő betűs diák.

betu = input('Név kezdőbetű: ').upper()

print(betu, 'kezdőbetűjű név', 'van' if next(filter(lambda d: d[2][0] == betu, lista), None) else 'nincs')

# vagy

print(betu, 'kezdőbetűjű név', 'van' if any([d for d in lista if d[2][0] == betu]) else 'nincs')

# vagy

kezdobetu = 'nincs'
for diak in lista:
    if diak[2][0] == betu:
        kezdobetu = 'van'
        break
print(betu, 'kezdőbetűjű név', kezdobetu)
1

#1. Hány diák van a listában?
with open('nevek.txt') as allomany:
lista = allomany.readlines()
print('Diákok száma:', len(lista))

#2. Hány 'a' osztályos diák van?
with open('nevek.txt') as allomany:
lista = allomany.readlines()
adarab = 0
for diak in lista:
if diak.strip().split(';')[1] == 'a':
adarab += 1
print('a osztályos diákok száma:', adarab)

#3. Melyik a legutolsó év amikor osztályt indítottak?
with open('nevek.txt') as allomany:
lista = allomany.readlines()
utolso_ev = 0
for diak in lista:
ev = int(diak.strip().split(';')[0])
if ev > utolso_ev:
utolso_ev = ev
print('Utolsó év:', utolso_ev)

#4. Kérjünk be egy betűt a felhasználótól és nézzük meg, van-e ilyen kezdő betűs diák.
with open('nevek.txt') as allomany:
lista = allomany.readlines()
kezdobetu = input('Név kezdőbetűje: ')
talalt = False
for diak in lista:
nev = diak.strip().split(';')[2]
if nev.startswith(kezdobetu):
talalt = True
break
if talalt:
print(kezdobetu, 'kezdőbetűjű név van a listában')
else:
print(kezdobetu, 'kezdőbetűjű név nincs a listában')
1