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!")

Vissza