Informatika2-2014/Eloadas Python/1ZH

A MathWikiből
A lap korábbi változatát látod, amilyen Wettl (vitalap | szerkesztései) 2014. április 22., 21:07-kor történt szerkesztése után volt.
(eltér) ←Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

1. ZH

1. Írjunk fel egy reguláris kifejezést, mely pontosan azokra a két számból álló karakterláncokra illeszkedik, melyek oszthatók 3-mal. A reguláris kifejezés tehát illeszkedjen a "00", "03", "12", "24", "99" karaterláncokra, de ne illeszkedjen a "01", "98", "0a", "ab" karakterláncokra (az egyszerűség kedvéért az előtte lévő és az utána következő karakterekkel nem kell foglalkozni).

Megoldás

[0369][0369]|[147][258]|[258][147]

2. Írjunk kódot, mely egy karakterláncból mozaikszót képez. A mozaikszó a karakterlánc minden nagy betűvel kezdődő szavából csak a nagy betűk megtartásával képződik. A karakterlánc csak az angol ábécé betűit és szóközöket tartalmaz. Használjuk a 're' modul 'sub' függvényét, vagy egy regexp objektum 'sub' metódusát a megoldáshoz. A kód példa bemenetekre adott válaszai: \pont2

"American Mathematical Society" --> "AMS"

"Masters of Business Administration" --> "MBA"

Két megoldás

>>> import re
>>> line = 'Masters of Business Administration'
>>> prog = re.compile("[^A-Z]")
>>> prog.sub("", line)
'MBA'
>>> import re
>>> line = 'Masters of Business Administration'
>>> re.sub("[^A-Z]", "", line)
'MBA'

Két másik megoldás

>>> import re
>>> line = 'Masters of Business Administration'
>>> prog = re.compile("([A-Z])[a-z ]+")
>>> prog.sub(r"\1", line)
'MBA'
>>> import re
>>> line = 'Masters of Business Administration'
>>> re.sub("([A-Z])[a-z ]+", r"\1", line)
'MBA'

3. Egy file-ban soronként vannak a neptunkód--pontszám párok, szóközzel elválasztva. Írjunk python kódot, mely beolvassa ezt a file-t és egy szótárban tárolja a hallgatók eredményeit. A szótár kulcsai neptunkódok, az értékek ZH pontok.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Személyes eszközök