
TAJ-szám
TAJ-szám
tajszam.py
1. TAJ-szám beolvasása
taj_szam = input("Kérem a TAJ-számot: ")
- Mit csinál?
- Bekéri a felhasználótól a TAJ-számot.
- Az input() függvény használatával egy szöveges adatot kérünk be, amely a TAJ-számot tartalmazza. Például: "012345672".
2. Ellenőrzőszám kiírása és tárolása
ellenorzo_szam = int(taj_szam[-1]) # Az utolsó (kilencedik) számjegy
- Mit csinál?
- A TAJ-szám utolsó számjegyét ([-1] index) elkülöníti és egész számként (int) tárolja az ellenorzo_szam változóban.
- Ez az utolsó számjegy az ellenőrzőszám, amelyet a program később összehasonlít a számítás eredményével.
print(f"Az ellenőrzőszámjegy: {ellenorzo_szam}")
- Mit csinál?
- Kiírja a TAJ-szám ellenőrzőszámjegyét a képernyőre. Például: "Az ellenőrzőszámjegy: 2".
3. Szorzatok összege
szorzat_osszeg = 0
- Mit csinál?
- Inicializál egy változót, szorzat_osszeg néven, amelyben az első nyolc számjegy szorzatainak összegét fogjuk tárolni. Kezdetben 0 az értéke.
for i in range(8): # Csak az első 8 számjegyet vizsgáljuk
szamjegy = int(taj_szam[i]) # Az aktuális számjegy
- Mit csinál?
- A range(8) azt jelenti, hogy a ciklus az első 8 számjegyen (0-tól 7-ig) végigmegy.
- Az taj_szam[i] segítségével az aktuális számjegyet elérjük, majd azt egész számként tároljuk a szamjegy változóban.
if (i + 1) % 2 == 1: # Páratlan hely
szorzat_osszeg += szamjegy * 3
- Mit csinál?
- Ellenőrzi, hogy az aktuális pozíció (hely) páratlan-e:
- Az (i + 1) a pozíciót adja meg (1-től 8-ig).
- A % 2 == 1 feltétel azt jelenti, hogy páratlan számú helyen lévő számjegyeket vizsgálunk.
- Ha páratlan helyen áll a számjegy, akkor megszorozzuk 3-mal, és hozzáadjuk a szorzat_osszeg változóhoz.
else: # Páros hely
szorzat_osszeg += szamjegy * 7
- Mit csinál?
- Ha a pozíció páros, akkor megszorozzuk 7-tel, és hozzáadjuk az print(f"A szorzatok összege: {szorzat_osszeg}")
- Mit csinál?
- Kiírja az első nyolc számjegy szorzatainak összegét a képernyőre. Például: "A szorzatok összege: 148".
4. Szám helyességének vizsgálata
if szorzat_osszeg % 10 == ellenorzo_szam:
print("Helyes a szám!")
- Mit csinál?
- Ellenőrzi, hogy az első nyolc számjegy szorzatainak összege (szorzat_osszeg) 10-zel vett maradéka (% 10) megegyezik-e az ellenőrzőszámmal (ellenorzo_szam).
- Ha megegyezik, akkor a TAJ-szám helyes, és kiírja: "Helyes a szám!".
else:
print("Hibás a szám!")
- Mit csinál?
- Ha a maradék nem egyezik meg az ellenőrzőszámmal, akkor a TAJ-szám hibás, és kiírja: "Hibás a szám!".
Példa futtatás
Bemenet:
Kérem a TAJ-számot: 012345672
Kimenet:
Az ellenőrzőszámjegy: 2
A szorzatok összege: 148
Hibás a szám!
A kód:
python
# 1. feladat: TAJ-szám beolvasása
taj_szam = input("Kérem a TAJ-számot: ")
# 2. feladat: Ellenőrzőszám kiírása és tárolása
ellenorzo_szam = int(taj_szam[-1]) # Az utolsó (kilencedik) számjegy
print(f"Az ellenőrzőszámjegy: {ellenorzo_szam}")
# 3. feladat: Szorzatok összege
szorzat_osszeg = 0
for i in range(8): # Csak az első 8 számjegyet vizsgáljuk
szamjegy = int(taj_szam[i]) # Az aktuális számjegy
if (i + 1) % 2 == 1: # Páratlan hely
szorzat_osszeg += szamjegy * 3
else: # Páros hely
szorzat_osszeg += szamjegy * 7
print(f"A szorzatok összege: {szorzat_osszeg}")
# 4. feladat: Szám helyességének vizsgálata
if szorzat_osszeg % 10 == ellenorzo_szam:
print("Helyes a szám!")
else:
print("Hibás a szám!")