
38_ROMAI_ARAB
38_ARAB_ROMAI_2

ARAB_ROMAI_2.py
romai = [[" ", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"],
[" ", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"]]
szam = int(input("Arab szam: "))
i = 0
romaiszam = " "
while szam != 0:
szj = szam % 10
szam = szam // 10
romaiszam = romai[i][szj] + romaiszam
i += 1
print(romaiszam)
Soronkénti Magyarázat
1. Római számok tárolása kétdimenziós listában
pythonromai = [[" ", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"], [" ", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"]]
Ez egy kétdimenziós lista, amely az arab számok római megfelelőit tárolja.
Első lista: Az egyes számjegyek római megfelelői (1-től 9-ig).
Második lista: A tízes helyiérték megfelelő római számai (10-től 90-ig).
Az üres " " karakter az indexelési könnyítés miatt van ott, így az 1-től 9-ig tartó számok közvetlenül elérhetőek.
2. Felhasználói bemenet bekérése
pythonszam = int(input("Arab szam: "))
A felhasználótól bekérünk egy arab számot, amelyet római számmá szeretne alakítani.
Az int() függvény biztosítja, hogy a beírt érték egész szám legyen.
3. Inicializálás: index és üres karakterlánc
pythoni = 0 romaiszam = " "
i változó: A ciklus során meghatározza a helyiértéket (egyesek, tízesek stb.).
romaiszam változó: Egy üres szövegként indul, amelyhez fokozatosan hozzáadjuk a római számokat.
4. Ciklus: Az arab szám átalakítása római számmá
pythonwhile szam != 0:
A ciklus addig fut, amíg az szam nem lesz 0, vagyis minden helyiértéket feldolgozunk.
5. Az utolsó számjegy kiválasztása
pythonszj = szam % 10
A % operátor segítségével megkapjuk az arab szám utolsó számjegyét.
Például: ha szam = 57, akkor szj = 7.
6. Az utolsó számjegy eltávolítása
pythonszam = szam // 10
Az // operátor az egész osztás műveletét végzi el.
Ezzel eltávolítjuk az utolsó számjegyet, és a szám többi része marad.
Példa: ha szam = 57, akkor a művelet után szam = 5.
7. Római számok összeállítása
pythonromaiszam = romai[i][szj] + romaiszam
A program a megfelelő helyiértéket (1-es vagy 10-es) használja az i változó alapján.
A római számokat balról jobbra rakjuk össze,
A mátrix elemeinek e felsorolása kerek zárójelek között, soronként történik. A sorokat vesszővel választjuk el egymástól.
0
1
2
3
4
5
6
7
8
9
1
''
I
II
III
IV
V
VI
VII
VIII
IX
2
''
X
XX
XXX
XL
L
LX
LXX
LXXX
XC
3
''
C
CC
CCC
CD
D
DC
DCC
DCCC
CM
A
mátrixot tekintjuk egy táblázatnak, melynek elemeire a sor és az oszlop
indexszel hivatkozhatunk: romai[sor][oszlop].A sor és az oszlopok lehetséges
értékeit a 0..3 és a 0..9 intervallumokkal adjuk meg
ARAB_ROMAI_2.py
Az Idők Keringésében:
Az Arab Szám Római Átváltozása
Egyszer volt, hol nem volt, egy hős programozó, aki elhatározta, hogy megmutatja, miként varázsolható át a modern arab szám a régi idők dicső római jelképeivé. A következő kódrészletekben a hősünk lépésről lépésre elindul ezen az átalakuláson, miközben a kód maga is a múlt és a jelen közti kapcsolódás szimbóluma.
romai = [[" ", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"], [" ", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"]]
Itt a hősünk létrehozott egy kétszintű listát, ahol az első sor az egyes helyiértékek (az 1-től 9-ig terjedő arab számokhoz tartozó római jegyek), a második sor pedig a tízeseknek megfelelő római alakok gyűjteményét tartalmazza. Ezek az ősi jelképek titkos kincsestárai várják, hogy a modern értékekbe ágyazzák a múlt dicsőségét.
szam = int(input("Arab szam: "))
Ebben a sorban a hősünk bekéri a felhasználótól azt az arab számot, melyet át kíván varázsolni római alakba. Így az ép folyamat a modern jelek és az ősi titkok találkozásával kezdődik.
i = 0romaiszam = " "
Elindítjuk az átalakulás folyamatát! A változó i majd végigköveti a helyiértékek sorrendjét, míg a romaiszam egy üres szöveget képvisel, amibe fokozatosan belefűzzük az átváltozott római jegyeket.
while szam != 0:
Ez a ciklus adja meg az átalakulás ritmusát: addig fut, amíg az arab szám maradéka nem fogy el, így lépésről lépésre bontja le a számot.
szj = szam % 10
Itt a hősünk kiválasztja a legkisebb helyiértéket – azaz a szám utolsó jegyét. Ez a részlet lesz az első, melyet a régi római szimbólumok világába kerül.
szam = szam // 10
Ez a lépés jelzi, hogy a hősünk már nem kell a már átalakított számjegyre gondoljon, hanem továbblép a következő, magasabb helyiértékre. Így a modern szám fokozatosan kikerül a folyamatból.
romaiszam = romai[i][szj] + romaiszam
Most történik a varázslat! A jelenlegi helyiértékre (amelyet az i ír le) a hozzá tartozó római jelképet (a szj indexű elemet) illeszti be a már meglévő, részleges római számban. Így a számjegyek "fordított" sorrendben rakódnak össze – mintha az idő keringése megfordulna.
i += 1
A változó i növekedésével a hősünk lépésről lépésre küszöböket lép át, így minden további számjegy a megfelelő helyiértékre kerül, a régi és az új rejtett kapcsolatát erősítve.
print(romaiszam)
Végül megjelenik a varázslat gyümölcse: a képernyőn kirajzolódik a modern arab szám római átváltozása, az idő tükörképe, ahol a múlt dicsősége ötvöződik a jelen egyszerűségével.
Ahogy a program lefutott, a felhasználók csodálattal nézték, ahogy az arab számok újjászülettek a régi idők stílusában, megidézve a történelem mély titkait és az idő örök körforgását. A hős programozó ezzel bizonyította, hogy a kód nem csupán utasítások halmaza, hanem az emberi kreativitás és a múlt örökségének élő meséje is.
Remélem, élvezted ezt a mesés utazást az átalakulás birodalmában, ahol a számok és idő keringése egyetlen kódsorban válik valósággá!