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

443
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