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:

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
Személyes eszközök