
30_SZAM_SZAMJEGYEI_KAR
30_SZAM_SZAMJEGYEI_KAR

SZAM_SZJ_CHAR.py
engedelyezett = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'e', 'E', '.']
karlanc = " "
print("Kérem a számot: (kilépés Q-val)")
karakter = ""
while karakter != "Q":
bemenet = input("Adj meg egy karaktert: ")
if bemenet:
karakter = bemenet[0]
else:
karakter = ""
if karakter in engedelyezett:
karlanc += karakter
print("vissza:", karakter)
print("A beírt karakterek:", karlanc)
A program minden ciklusban bekér egy karaktert.
bemenet[0] = a felhasználó által beírt szöveg első karaktere.
Ha a karakter az engedélyezett listában van → hozzáfűzi a karlanc-hoz.bemenet[0] = a felhasználó által beírt szöveg első karaktere.
else:
karakter = ""
Ez akkor fut le, ha a felhasználó csak Entert nyom, vagyis az input() üres sztringet ad vissza:
bemenet == ""
nincs első karakter (bemenet[0] hibát okozna)
Ezért az else-ben a program biztonságosan beállítja a karakter változót egy üres sztringre.
Ha a felhasználó Q-t ír → kilép.
A végén kiírja az összegyűjtött karaktereket.
A beolvasott
számjegy karaktereket a karlanc karakterlánc típusú változóban
"összegezzük+. A beolvasott karaktereket összefűzzük, láncoljuk egy karakterlánccá.
Az előző feladatokbanszámokat összegeztünk, karaktereket láncoltunk. Alkalmaztuk az "összegzési" tételt. Az "összegzési elnevezés – így idézőjelek között - arra utal, hogy nemcsak az összegzés, hanem a szorzat kiszámítása, a karakterek láncolása és a halmaz típusú adatoknál a halmaz létrehozása is hasonlóan történik, mint a számok összegzése.
Minden esetben kell egy változó, ahová "összegyűjtjük" a számítások eredményét, a karaktereket, ill. a halmaz elemeit. Ennek a változónak, a számítások, a karakter láncolássa, a halmaz adatainak megadása előtt kezdőértéket kell adni. Végül az eredményt, ennek a változónak az értéke adja.
Az összegzés algoritmusa mondatszerű leírással:
Összegzés
Be: N
S=0
Ismétlés I=1-től N-ig
Be: adat
S=S+adat
Ismétlés vége
Ki: S
A karaktervadász
Egyszer volt, hol nem volt, élt egy kis program, akit Karaktervadásznak hívtak. A feladata az volt, hogy az emberek által megadott karaktereket gyűjtse össze és összeállítsa belőlük a legkülönlegesebb láncot, amit valaha láttak.
engedelyezett = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'e', 'E', '.']
Karaktervadász gondosan összeállította azt a listát, amit ő "engedélyezett karaktereknek" nevezett. Ez a lista volt a szabály, amely szerint eldöntötte, hogy mely karaktereket gyűjtheti be, és melyeket kell figyelmen kívül hagynia.
karlanc = " "
Elindította a kalandját egy üres lánccal, amelybe szorgosan felfűzhetett minden elfogadott karaktert. Ez a lánc volt az ő gyűjteménye, amely minden beérkező karakterből épült.
print("Kérem a számot: (kilépés Q-val)")
Mielőtt Karaktervadász elindult volna, vidáman köszöntötte az embereket. "Kérem a számot: (kilépés Q-val)" – mondta, ezzel megnyitva az ajtót az interakció előtt.
karakter = ""
Minden új kezdet tiszta lappal indul. Karaktervadász először üres helyet hagyott, ahova az emberek karaktereit felírhatta.
while karakter != "Q":
Karaktervadász új szabályt vezetett be: addig gyűjtöget, amíg valaki nem mondja neki azt, hogy "Q", ami a kaland végét jelezte.
bemenet = input("Adj meg egy karaktert: ")
"Adj meg egy karaktert" – kérte a Karaktervadász az emberektől. Kíváncsian várta, hogy ki mit ajánl neki, hátha valami érdekeset talál.
if bemenet:
Ha a bemenet nem üres, nem nulla, nem hamis érték… akkor igaznak számít.
Ha az emberek szívesen adtak valamit, Karaktervadász boldogan fogadta be a karaktereket. Mindig remélte, hogy valami új és izgalmas következik.
karakter = bemenet[0]
Ahogy megkapta az első karaktert, gyorsan ellenőrizte, és eldöntötte, hogy érdemes-e felvenni a gyűjteményébe.
else:
Ha senki nem adott neki karaktert, csak üres választ kapott, Karaktervadász csalódottan továbbállt.
karakter = ""
Ebben az esetben visszatért az alapállapotába, várva, hogy valaki végre új karakterrel lepje meg.
if karakter in engedelyezett:
Amikor Karaktervadász találkozott egy karakterrel, gondosan ellenőrizte, hogy az szerepel-e az "engedélyezett karakterek" listáján. Csak akkor fogadta el, ha megfelelt a szabályainak.
karlanc += karakter
Az elfogadott karaktereket gyorsan felfűzte a láncra, így a gyűjteménye egyre hosszabb és különlegesebb lett.
print("vissza:", karakter)
csak visszajelzés
Ez azt jelenti:
a program jelzi a felhasználónak, hogy elfogadta a karaktert
és azt is, hogy melyik karaktert fogadta el
print("A beírt karakterek:", karlanc)
Amikor a kaland véget ért, Karaktervadász büszkén bemutatta a végső láncot: a beírt karaktereket, amelyek történetté fűződtek.
