2026. május 31., vasárnap

Összetett logika python

 Az alábbi példa egy objektumorientált, konzolos feladatkezelőt mutat be, amely fájlkezelést (JSON formátumban), hibakezelést és összetett logikát is tartalmaz.
-----------------------

# -*- coding: utf-8 -*-
import sys
sys.stdout.reconfigure(encoding='utf-8')

import json
import os

class Task:
    def __init__(self, title, description):
        self.title = title
        self.description = description
        self.completed = False

    def mark_completed(self):
        self.completed = True

    def __str__(self):
        status = "Kész" if self.completed else "Folyamatban"
        return f"{self.title} [{status}] - {self.description}"

class TaskManager:
    def __init__(self, filename="tasks.json"):
        self.filename = filename
        self.tasks = []
        self.load_tasks()

    def add_task(self, title, description):
        task = Task(title, description)
        self.tasks.append(task)
        print(f"'{title}' sikeresen hozzáadva!")

    def complete_task(self, title):
        for task in self.tasks:
            if task.title.lower() == title.lower():
                task.mark_completed()
                print(f"'{title}' teljesítve!")
                return
        print("A feladat nem található.")

    def list_tasks(self):
        if not self.tasks:
            print("Nincs megjeleníthető feladat.")
        for task in self.tasks:
            print(task)

    def save_tasks(self):
        with open(self.filename, 'w', encoding='utf-8') as f:
            data = [task.__dict__ for task in self.tasks]
            json.dump(data, f, ensure_ascii=False, indent=4)
        print("Feladatok mentve.")

    def load_tasks(self):
        if os.path.exists(self.filename):
            with open(self.filename, 'r', encoding='utf-8') as f:
                try:
                    data = json.load(f)
                    self.tasks = [Task(item['title'], item['description']) for item in data]
                    for i, item in enumerate(data):
                        if item['completed']:
                            self.tasks[i].mark_completed()
                except json.JSONDecodeError:
                    print("Hiba történt a fájl beolvasásakor. Új lista létrehozva.")
                    self.tasks = []

def main():
    manager = TaskManager()
    
    while True:
        print("\n--- FELADATKEZELŐ ---")
        print("1. Feladatok listázása")
        print("2. Új feladat hozzáadása")
        print("3. Feladat teljesítése")
        print("4. Mentés és kilépés")
        
        choice = input("Válasszon egy opciót (1-4): ")
        
        if choice == '1':
            manager.list_tasks()
        elif choice == '2':
            title = input("Feladat címe: ")
            desc = input("Feladat leírása: ")
            manager.add_task(title, desc)
        elif choice == '3':
            title = input("A teljesítendő feladat címe: ")
            manager.complete_task(title)
        elif choice == '4':
            manager.save_tasks()
            print("Viszlát!")
            break
        else:
            print("Érvénytelen választás, kérem próbálja újra.")

if __name__ == "__main__":
    main()
-----------------
--- FELADATKEZELŐ ---
1. Feladatok listázása
2. Új feladat hozzáadása
3. Feladat teljesítése
4. Mentés és kilépés
Válasszon egy opciót (1-4): 4
Feladatok mentve.
Viszlát!
-----------------
A programjaim általában olyan összetett informatikai területeket ölelnek fel, mint a mesterséges intelligencia, a nagyméretű adatelemzés (Big Data), vagy a hálózati rendszerek és kiberbiztonság. Ezek a megoldások nemcsak a nyelv szintaxisának ismeretét, hanem magas szintű matematikai, algoritmus- és architektúra-tervezési tudást is igényelnek.

Nincsenek megjegyzések:

Megjegyzés küldése