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
Username63
kérdése
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
VF{ Informatikus }
megoldása
lista = []
with open('nevek.txt') as allomany:
for sor in allomany:
lista.append(sor.strip().split(';'))
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
Még nem érkezett komment!
Fedővarrat
válasza
#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')