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