69_ARLESZALLITAS_1.py

69_ARLESZALLITAS_1.py

import math

A math modul betöltése. Erre azért van szükség, mert később használjuk a math.floor() függvényt.

try:

A try blokk azt jelzi, hogy olyan műveletek következnek, amelyek hibát okozhatnak. Ha hiba történik, a program nem áll le, hanem átugrik az except részre.

# Fájl megnyitása és első sor beolvasása

Megjegyzés, amely csak a programozónak szól. A Python nem hajtja végre.

with open("europa_ho.prn", "r") as f:

Megnyitja a europa_ho.prn nevű fájlt olvasásra. A with gondoskodik arról, hogy a fájl automatikusan bezáródjon.

     sor = f.readline().strip()

Beolvassa a fájl első sorát, majd a strip() eltávolítja a sor elején és végén lévő szóközöket, tabokat, sortörést.

    adatok = sor.split()

A sort szóközök mentén feldarabolja. Így egy listát kapunk, pl.: ["1200", "15"].

    if len(adatok) < 2: 

          raise ValueError("Nincs elég adat a fájlban.")

Ellenőrzi, hogy van‑e legalább két adat. Ha nincs, akkor hibát dob, amit majd az except ValueError kezel.

     regi_ar = int(adatok[0])

Az első adatot egésszé alakítja → ez lesz a régi ár.

     szazalek = float(adatok[1]) / 100

A második adatot százalékká alakítja: pl. "15" → 15.0 → 0.15.

     uj_ar = math.floor(regi_ar * (1 - szazalek))

Kiszámítja az új árat: régi ár × (1 − százalék). A math.floor() lefelé kerekít.

     print("Régi ár:", regi_ar) 

     print("Százalék:", szazalek * 100, "%")           print("Új ár:", uj_ar)

Kiírja a régi árat, a százalékot és az új árat.

except FileNotFoundError: 

      print("Hiba: A 'europa_ho.prn' fájl nem található.")

Ha a fájl nem létezik, ezt az üzenetet kapjuk.

except ValueError as e:

      print("Hibás adat:", e)

Ha a fájlban rossz adat van (pl. nem szám), akkor ez az ág fut le.



import math

try:

     # Fájl megnyitása és első sor beolvasása

     with open("europa_ho.prn", "r") as f:

          sor = f.readline().strip()

          adatok = sor.split()

          if len(adatok) < 2:

              raise ValueError("Nincs elég adat a fájlban.")

          regi_ar = int(adatok[0])

          szazalek = float(adatok[1]) / 100

          uj_ar = math.floor(regi_ar * (1 - szazalek))

          print("Régi ár:", regi_ar)

          print("Százalék:", szazalek * 100, "%")

          print("Új ár:", uj_ar)

except FileNotFoundError:

      print("Hiba: A 'europa_ho.prn' fájl nem található.")

except ValueError as e:

     print("Hibás adat:", e)


Gyakorlati alkalmazás: Akciós árak automatikus kiszámítása egy webáruházban

Képzeld el, hogy van egy webáruházad, ahol időszakos akciókat tartasz. A termékek eredeti ára egy fájlban van, és minden termékhez tartozik egy százalékos kedvezmény.

A programod pontosan ezt csinálja:

  • beolvassa a régi árat,

  • beolvassa a kedvezmény mértékét,

  • kiszámítja az új, akciós árat,

  • és kiírja.

Ez a logika pont úgy működik, mint egy webáruház háttérrendszere, ahol a kedvezményeket automatikusan kell alkalmazni.

🧮 Példa: webáruház akciók

Tegyük fel, hogy a fájlban ez áll:

Kód12000 20

Ez azt jelenti:

  • Régi ár: 12 000 Ft

  • Kedvezmény: 20%

A program kiszámítja:

12000×(1−0.20)=9600

Tehát az új ár: 9600 Ft

Ez az ár mehet a webáruházba, a termékkártyára, a kosárba, a számlára.