Informatika2-2021/Sz¼tGyak06

A MathWikiből
(Változatok közti eltérés)
(Feladatok)
(Feladatok)
 
(egy szerkesztő 3 közbeeső változata nincs mutatva)
3. sor: 3. sor:
 
==Reguláris kifejezések==
 
==Reguláris kifejezések==
  
===1. Időpont csere ===
+
===1. Szótárból cserél ===
 +
 
 +
Írjunk függvényt, mely paraméterként kap egy stringet és egy szótárat. A szótárban cserék vannak, azaz, hogy melyik szót (kulcs) melyikre kell cserélni (érték). Példa a paraméterekre:
 +
 
 +
cserek = {"kiskutya":"kismacska", "majonez":"mustar", "mehecske":"lodarazs", "kikerulni":"atugrani"}
 +
 
 +
mondat = """Volt egyszer egy kiskutya, vasarba menet talalkozott a mehecskevel, mely eppen majonezt lakmarozott.
 +
A kiskutya nem tudta mitevo legyen, megprobalta kikerulni, de a mehecske tul nagy volt.
 +
Igy a kiskutya inkabb hazament majonezt lakmarozni."""
 +
 
 +
===2. Időpont csere ===
  
 
Írjunk olyan reguláris kifejezést, ami pont ilyen alakú kifejezéseket fogad el.
 
Írjunk olyan reguláris kifejezést, ami pont ilyen alakú kifejezéseket fogad el.
  
 
  1990. március 23.
 
  1990. március 23.
 
Nem kell tesztelni, hogy valódi nap-e, azt viszont igen, hogy 4 számjegyű-e a születési év.
 
  
 
Írjunk python programot, mely lecseréli az ilyen évszámokat (elég januártól márciusig) ilyen formátumra:
 
Írjunk python programot, mely lecseréli az ilyen évszámokat (elég januártól márciusig) ilyen formátumra:
15. sor: 23. sor:
 
  1990. 03. 23.
 
  1990. 03. 23.
  
===2. Szótárból cserél ===
+
=Osztály=
  
Írjunk függvényt, mely paraméterként kap egy stringet és egy szótárat. A szótárban cserék vannak, azaz, hogy melyik szót (kulcs) melyikre kell cserélni (érték). Példa a paraméterekre:
+
== Komplex ==
  
cserek = {"kiskutya":"kismacska", "majonez":"mustar", "mehecske":"lodarazs", "kikerulni":"atugrani"}
+
A feladat az előadáson elkezdett Komplex osztályt befejezni:
  
mondat = """Volt egyszer egy kiskutya, vasarba menet talalkozott a mehecskevel, mely eppen majonezt lakmarozott.  
+
<python>
A kiskutya nem tudta mitevo legyen, megprobalta kikerulni, de a mehecske tul nagy volt.
+
class Komplex(object):
Igy a kiskutya inkabb hazament majonezt lakmarozni."""
+
    def __init__(self, real, imaginary):
 +
        self.re = real
 +
        self.im = imaginary
 +
   
 +
    def __add__(self, k2):
 +
        uj_re = self.re + k2.re
 +
        uj_im = self.im + k2.im
 +
        return Komplex(uj_re, uj_im)
 +
   
 +
    def __str__(self):
 +
        s = ""
 +
        s += str(self.re)
 +
        s += " + "
 +
        s += str(self.im)
 +
        s += "i"
 +
        return s
 +
 
 +
k1 = Komplex(4, 3)
 +
k2 = Komplex(-2, 1)
 +
k3 = k1 + k2
 +
 
 +
print(k3)
 +
</python>
 +
 
 +
* Valósítsuk meg a kivonás, szorzás és osztás műveleteket. (__sub__, __mul__, __truediv__) Az osztás előtt érdemes lehet a következő részt megoldani először.
 +
* Valósítsuk meg a <tt>norm</tt> metódust, mely a komplex szám hosszát adja meg.
 +
* Javítsuk ki a __str__ metódust, hogy szépen írja ki a számokat, pl:
 +
2 - 4i
 +
5i
 +
2
 +
 
 +
Teszteléshez használhatjuk pl ezt a kódot, de írjunk saját teszteket is!
 +
 
 +
<python>
 +
k1 = Komplex(4, 3)
 +
k2 = Komplex(-2, 1)
 +
k3 = Komplex(4, 1)
  
==Osztály==
+
print k1 + k2
 +
print k1 - k3
 +
print k2 * k1
 +
print k3 / k1
 +
print k1.norm()
 +
</python>

A lap jelenlegi, 2021. március 15., 11:16-kori változata

Tartalomjegyzék

Feladatok

Reguláris kifejezések

1. Szótárból cserél

Írjunk függvényt, mely paraméterként kap egy stringet és egy szótárat. A szótárban cserék vannak, azaz, hogy melyik szót (kulcs) melyikre kell cserélni (érték). Példa a paraméterekre:

cserek = {"kiskutya":"kismacska", "majonez":"mustar", "mehecske":"lodarazs", "kikerulni":"atugrani"}
mondat = """Volt egyszer egy kiskutya, vasarba menet talalkozott a mehecskevel, mely eppen majonezt lakmarozott. 
A kiskutya nem tudta mitevo legyen, megprobalta kikerulni, de a mehecske tul nagy volt.
Igy a kiskutya inkabb hazament majonezt lakmarozni."""

2. Időpont csere

Írjunk olyan reguláris kifejezést, ami pont ilyen alakú kifejezéseket fogad el.

1990. március 23.

Írjunk python programot, mely lecseréli az ilyen évszámokat (elég januártól márciusig) ilyen formátumra:

1990. 03. 23.

Osztály

Komplex

A feladat az előadáson elkezdett Komplex osztályt befejezni:

class Komplex(object):
    def __init__(self, real, imaginary):
        self.re = real
        self.im = imaginary
 
    def __add__(self, k2):
        uj_re = self.re + k2.re
        uj_im = self.im + k2.im
        return Komplex(uj_re, uj_im)
 
    def __str__(self):
        s = ""
        s += str(self.re)
        s += " + "
        s += str(self.im)
        s += "i"
        return s
 
k1 = Komplex(4, 3)
k2 = Komplex(-2, 1)
k3 = k1 + k2
 
print(k3)
  • Valósítsuk meg a kivonás, szorzás és osztás műveleteket. (__sub__, __mul__, __truediv__) Az osztás előtt érdemes lehet a következő részt megoldani először.
  • Valósítsuk meg a norm metódust, mely a komplex szám hosszát adja meg.
  • Javítsuk ki a __str__ metódust, hogy szépen írja ki a számokat, pl:
2 - 4i
5i
2

Teszteléshez használhatjuk pl ezt a kódot, de írjunk saját teszteket is!

k1 = Komplex(4, 3)
k2 = Komplex(-2, 1)
k3 = Komplex(4, 1)
 
print k1 + k2
print k1 - k3
print k2 * k1
print k3 / k1
print k1.norm()
Személyes eszközök