Fizika, matek, informatika érettségi

Home Fizika Excel Access A weboldalról

53. Szövegelés 1.

5. szint

A szoveg1.txt állományban kb. 50 oldal szöveg található ékezetmentes formában. A fájlban található szöveg alapján válaszolj az alábbi kérdésekre! A megoldásnál a kicsi és nagy betűket tekintsd különbözőnek! Tehát ha feladatban kicsi „a” betű szerepel, akkor a szövegben a nagy „A” betűket ne tekintsd jó karakternek!

a) Hány olyan szó szerepel a fájlban, amelyben található kicsi „i” betű vagy nagy „I” betű?

Keresünk a szövegben olyan szavakat, amelyek tartalmazzák az „i..an” karaktersorozatot, vagyis az „i” és az „an” között pontosan két betű található. (Nem tudjuk, hogy milyen hosszú volt a szó. Lehet, hogy vannak még az elején vagy a végén is további betűk, de az biztos, hogy a látható betűknek ilyen az elrendezése.)

b) A szövegben hány olyan szó van, amire illeszkedik a fenti minta!

c) Hány olyan szó szerepel a szövegben, amely az „i”, „a”, „n” betűk közül pontosan kettőt tartalmaz (bármilyen sorrendben)? A megadott betűk többször is előfordulhatnak a szóban, de a 3 betű közül pontosan kettő féle kell, hogy legyen benne. Tehát jó szó pl.: nikkel, pipacs, papucs, antenna, … de rossz szó a pillanat, alapos, elme, ….

Letöltés: szoveg1.txt

Minta:
a) 2712
b) 41
c) 2711



fajl = open('szoveg1.txt')
forras = fajl.read().splitlines()
fajl.close()
szavak = []
for sor in forras:
szavak.extend(sor.split(' '))

ibetus = [1 for szo in szavak if 'i' in szo or 'I' in szo]
print('a)',len(ibetus))

mintas = 0
for szo in szavak:
if len(szo)>=5:
for i1 in range(len(szo)-4):
if szo[i1]=='i' and szo[i1+3]=='a' and szo[i1+4]=='n':
mintas += 1
print('b)',mintas)

jok = 0
for szo in szavak:
if ('i' in szo and 'a' in szo and 'n' not in szo) or ('i' in szo and 'a' not in szo and 'n' in szo) or ('i' not in szo and 'a' in szo and 'n' in szo):
jok += 1
print('c)',jok)