Informatika2-2015/Gyakorlat01
A MathWikiből
(Változatok közti eltérés)
(1. gyakorlat lényeg) |
|||
(egy szerkesztő egy közbeeső változata nincs mutatva) | |||
15. sor: | 15. sor: | ||
Részletes leírás a [[Informatika2-2015#H.C3.A1zi_feladatok_.C3.A9s_labor_feladatok|tárgylapon]]. | Részletes leírás a [[Informatika2-2015#H.C3.A1zi_feladatok_.C3.A9s_labor_feladatok|tárgylapon]]. | ||
+ | |||
+ | == Feladatok megoldása == | ||
+ | |||
+ | === nagybetu === | ||
+ | |||
+ | <python>def nagybetu(s): | ||
+ | return str.isupper(s[0])</python> | ||
+ | |||
+ | === udvarias === | ||
+ | |||
+ | <python>def udvarias(l): | ||
+ | return ["Ms. " + name for name in l]</python> | ||
+ | |||
+ | === leltar_frissites === | ||
+ | |||
+ | Megoldás listaértelmezéssel: | ||
+ | |||
+ | <python>def leltar_frissites(leltar, ujszam): | ||
+ | return [ujszam[elem] if elem in ujszam else elem for elem in leltar]</python> | ||
+ | |||
+ | Megoldás listaértelmezés nélkül: | ||
+ | |||
+ | <python>def leltar_frissites(leltar, ujszam): | ||
+ | uj_leltar = [] | ||
+ | for elem in leltar: | ||
+ | if elem in ujszam: | ||
+ | uj_leltar.append(ujszam[elem]) | ||
+ | else: | ||
+ | uj_leltar.append(elem) | ||
+ | return uj_leltar</python> | ||
+ | |||
+ | === leltar_sorszam === | ||
+ | |||
+ | <python>def leltar_sorszam(szamok): | ||
+ | ujszam = {} | ||
+ | i = 100 | ||
+ | for szam in szamok: | ||
+ | ujszam[szam] = i | ||
+ | i = i+1 | ||
+ | return ujszam</python> | ||
+ | |||
+ | === leltar_egyben === | ||
+ | |||
+ | <python>def leltar_frissites(leltar, ujszam): | ||
+ | return [ujszam[elem] if elem in ujszam else elem for elem in leltar] | ||
+ | |||
+ | def leltar_sorszam(szamok): | ||
+ | ujszam = {} | ||
+ | i = 100 | ||
+ | for szam in szamok: | ||
+ | ujszam[szam] = i | ||
+ | i = i+1 | ||
+ | return ujszam | ||
+ | |||
+ | def leltar_egyben(leltar): | ||
+ | szamok = [] | ||
+ | for elem in leltar: | ||
+ | if elem not in szamok: | ||
+ | szamok.append(elem) | ||
+ | |||
+ | szamok.sort() | ||
+ | |||
+ | ujszam = leltar_sorszam(szamok) | ||
+ | |||
+ | return leltar_frissites(leltar, ujszam)</python> | ||
+ | |||
+ | == Házi feladatok megoldása == | ||
+ | |||
+ | === szorzo === | ||
+ | |||
+ | <python>def szorzo(l, k): | ||
+ | return [i * k for i in l]</python> | ||
+ | |||
+ | === atment === | ||
+ | |||
+ | Megoldás listaértelmezéssel: | ||
+ | |||
+ | <python>def atment(pontok, hatar): | ||
+ | nevek = [nev for nev in pontok if pontok[nev] >= hatar ] | ||
+ | nevek.sort() | ||
+ | return nevek</python> | ||
+ | |||
+ | Megoldás listaértelmezés nélkül: | ||
+ | |||
+ | <python>def atment(pontok, hatar): | ||
+ | nevek = [] | ||
+ | for nev in pontok: | ||
+ | if pontok[nev] >= hatar: | ||
+ | nevek.append(nev) | ||
+ | nevek.sort() | ||
+ | return nevek</python> |
A lap jelenlegi, 2015. február 21., 21:43-kori változata
Tartalomjegyzék |
1. gyakorlat - Ismétlés
Ezen a gyakorlaton az előző féléves Informatika 1 anyagát ismételjük, az ott tanultakat kell használni. Amire biztosan szükség lesz ma:
- Python alapjai, futtatása; karakterláncok; elágazások, ciklusok; függvények definiálása: Informatika1-2014/eloadas3
- Listák, listaértelmezések, szótárak: Informatika1-2014/eloadas4
Ha valaki nem hallgatta ezt a tárgyat, és nincs tisztában a python alapjaival, nyugodtan kérdezzen laboron, és igyekezzen egy-két héten belül behozni a lemaradást.
CloudCoder használata
A legtöbb python feladathoz gyakorlaton egy CloudCodernek nevezett rendszert fogunk használni. Ennek elõnye, hogy helyben ki is javítja a feladatot. Elérés:
Részletes leírás a tárgylapon.
Feladatok megoldása
nagybetu
def nagybetu(s): return str.isupper(s[0])
udvarias
def udvarias(l): return ["Ms. " + name for name in l]
leltar_frissites
Megoldás listaértelmezéssel:
def leltar_frissites(leltar, ujszam): return [ujszam[elem] if elem in ujszam else elem for elem in leltar]
Megoldás listaértelmezés nélkül:
def leltar_frissites(leltar, ujszam): uj_leltar = [] for elem in leltar: if elem in ujszam: uj_leltar.append(ujszam[elem]) else: uj_leltar.append(elem) return uj_leltar
leltar_sorszam
def leltar_sorszam(szamok): ujszam = {} i = 100 for szam in szamok: ujszam[szam] = i i = i+1 return ujszam
leltar_egyben
def leltar_frissites(leltar, ujszam): return [ujszam[elem] if elem in ujszam else elem for elem in leltar] def leltar_sorszam(szamok): ujszam = {} i = 100 for szam in szamok: ujszam[szam] = i i = i+1 return ujszam def leltar_egyben(leltar): szamok = [] for elem in leltar: if elem not in szamok: szamok.append(elem) szamok.sort() ujszam = leltar_sorszam(szamok) return leltar_frissites(leltar, ujszam)
Házi feladatok megoldása
szorzo
def szorzo(l, k): return [i * k for i in l]
atment
Megoldás listaértelmezéssel:
def atment(pontok, hatar): nevek = [nev for nev in pontok if pontok[nev] >= hatar ] nevek.sort() return nevek
Megoldás listaértelmezés nélkül:
def atment(pontok, hatar): nevek = [] for nev in pontok: if pontok[nev] >= hatar: nevek.append(nev) nevek.sort() return nevek