diff --git a/Project.md b/Project.md new file mode 100644 index 0000000..d9c9a82 --- /dev/null +++ b/Project.md @@ -0,0 +1,29 @@ +# Task Manager Project + +## Project Description +In this assignment, we created a task manager application using Python. Users can add, complete, delete, and list tasks. + +## Functions Overview + +### add_task(task_name: str) -> None +- Adds a new task with the given name. +- Parameters: `task_name` (str) - Name of the task. +- Returns: None + +### complete_task(seq_num: int) -> None +- Marks a task as Completed. +- Parameters: `seq_num` (int) - Sequence number of the task. +- Returns: None + +### delete_task(seq_num: int) -> None +- Marks a task as Deleted. +- Parameters: `seq_num` (int) - Sequence number of the task. +- Returns: None + +### list_tasks() -> None +- Lists all tasks with their status. +- Returns: None + +### list_completed_tasks() -> None +- Lists only completed tasks. +- Returns: None diff --git a/ali/main.py b/ali/main.py new file mode 100644 index 0000000..a22bfb4 --- /dev/null +++ b/ali/main.py @@ -0,0 +1,90 @@ +# Görev listesi +gorevler = [] + +# Sıra numarası takipçisi +siradaki_numara = 1 + +# Görev ekleme fonksiyonu +def gorev_ekle(gorev_adi): + global siradaki_numara + gorev = { + "sira": siradaki_numara, + "ad": gorev_adi, + "durum": "Bekliyor" + } + gorevler.append(gorev) + print(f"Görev eklendi: {siradaki_numara} - {gorev_adi}") + siradaki_numara += 1 + +# Görev tamamlama fonksiyonu +def gorev_tamamla(sira_no): + for gorev in gorevler: + if gorev["sira"] == sira_no and gorev["durum"] != "Silindi": + gorev["durum"] = "Tamamlandı" + print(f"Görev tamamlandı: {sira_no}") + return + print("Görev bulunamadı veya zaten silinmiş.") + +# Görev silme fonksiyonu +def gorev_sil(sira_no): + for gorev in gorevler: + if gorev["sira"] == sira_no and gorev["durum"] != "Silindi": + gorev["durum"] = "Silindi" + print(f"Görev silindi: {sira_no}") + return + print("Görev bulunamadı veya zaten silinmiş.") + +# Tamamlanan görevleri listeleme fonksiyonu +def tamamlanan_gorevleri_listele(): + tamamlananlar = list(filter(lambda g: g["durum"] == "Tamamlandı", gorevler)) + if not tamamlananlar: + print("Tamamlanan görev yok.") + else: + for g in sorted(tamamlananlar, key=lambda x: x["sira"]): + print(f'{g["sira"]}. {g["ad"]} - {g["durum"]}') + +# Tüm görevleri listeleme fonksiyonu +def tum_gorevleri_listele(): + if not gorevler: + print("Henüz hiç görev yok.") + else: + for g in sorted(gorevler, key=lambda x: x["sira"]): + print(f'{g["sira"]}. {g["ad"]} - {g["durum"]}') + +# Ana menü fonksiyonu +def ana_menu(): + while True: + print("\nGörev Listesi Uygulaması") + print("1. Görev Ekle") + print("2. Görev Tamamla") + print("3. Görev Sil") + print("4. Tamamlanan Görevleri Listele") + print("5. Tüm Görevleri Listele") + print("6. Çıkış") + + # Kullanıcıdan seçim alma + + print("--"*30) + secim = input("Seçiminizi yapın (1-6): ") + + # Seçim kontrolü + + if secim == "1": + gorev_adi = input("Görev adını girin: ") + gorev_ekle(gorev_adi) + elif secim == "2": + sira_no = int(input("Tamamlamak istediğiniz görev numarasını girin: ")) + gorev_tamamla(sira_no) + elif secim == "3": + sira_no = int(input("Silmek istediğiniz görev numarasını girin: ")) + gorev_sil(sira_no) + elif secim == "4": + tamamlanan_gorevleri_listele() + elif secim == "5": + tum_gorevleri_listele() + elif secim == "6": + print("Çıkılıyor...") + break + else: + print("Geçersiz seçim, lütfen tekrar deneyin.") +ana_menu() diff --git a/furkan/main.py b/furkan/main.py new file mode 100644 index 0000000..16ac9b7 --- /dev/null +++ b/furkan/main.py @@ -0,0 +1,91 @@ +#bazi yerlerinde yapay zekadan yardım alinmistir + + +gorevler = [] + +def gorev_ekle(gorev_adi): + sira_numarasi = sonraki_sira_numarasi_al() + gorev = { + "Sıra Numarası": sira_numarasi, + "Görev Adı": gorev_adi, + "Durum": "Bekliyor" + } + gorevler.append(gorev) + print(f"Görev '{gorev_adi}' {sira_numarasi} sıra numarası ile eklendi.") + +def gorev_tamamla(sira_numarasi): + gorev = gorev_bul(sira_numarasi) + if gorev: + gorev["Durum"] = "Tamamlandı" + print(f"Görev '{gorev['Görev Adı']}' tamamlandı.") + else: + print("Görev bulunamadı.") + +def gorev_sil(sira_numarasi): + gorev = gorev_bul(sira_numarasi) + if gorev: + gorev["Durum"] = "Silindi" + print(f"Görev '{gorev['Görev Adı']}' silindi.") + else: + print("Görev bulunamadı.") + +def tamamlanan_gorevleri_listele(): + tamamlanan_gorevler = [gorev for gorev in gorevler if gorev["Durum"] == "Tamamlandı"] + if tamamlanan_gorevler: + print("Tamamlanan Görevler:") + for gorev in tamamlanan_gorevler: + print(f"{gorev['Sıra Numarası']}: {gorev['Görev Adı']}") + else: + print("Tamamlanan görev bulunamadı.") + +def tum_gorevleri_listele(): + if gorevler: + print("Tüm Görevler:") + for gorev in sorted(gorevler, key=lambda x: x["Sıra Numarası"]): + print(f"{gorev['Sıra Numarası']}: {gorev['Görev Adı']} - {gorev['Durum']}") + else: + print("Görev bulunamadı.") + +def sonraki_sira_numarasi_al(): + kullanilan_numaralar = {gorev["Sıra Numarası"] for gorev in gorevler if gorev["Durum"] != "Silindi"} + return next(num for num in range(1, len(gorevler) + 2) if num not in kullanilan_numaralar) + +def gorev_bul(sira_numarasi): + for gorev in gorevler: + if gorev["Sıra Numarası"] == sira_numarasi: + return gorev + return None + +def menu(): + print("\nGörev Yönetimi") + print("1. Yeni görev ekle") + print("2. Görev tamamla") + print("3. Görev sil") + print("4. Tamamlanan görevleri listele") + print("5. Tüm görevleri listele") + print("6. Çıkış") + +def ana_program(): + while True: + menu() + secim = input("Seçiminizi yapın (1-6): ") + if secim == "1": + gorev_adi = input("Görev adını girin: ") + gorev_ekle(gorev_adi) + elif secim == "2": + sira_numarasi = int(input("Tamamlamak istediğiniz görevin sıra numarasını girin: ")) + gorev_tamamla(sira_numarasi) + elif secim == "3": + sira_numarasi = int(input("Silmek istediğiniz görevin sıra numarasını girin: ")) + gorev_sil(sira_numarasi) + elif secim == "4": + tamamlanan_gorevleri_listele() + elif secim == "5": + tum_gorevleri_listele() + elif secim == "6": + print("Görev Yönetiminden çıkılıyor. İyi günler!") + break + else: + print("Geçersiz seçim. Lütfen tekrar deneyin.") + +ana_program() diff --git a/kursad/main.py b/kursad/main.py new file mode 100644 index 0000000..589996a --- /dev/null +++ b/kursad/main.py @@ -0,0 +1,131 @@ +import os + +clear_screen = lambda: print("\033[H\033[J") +tasks = [] + +# Sayısal girişi gecerli olarak alır. +def get_input(message="Lütfen bir işlem numarası giriniz: "): + while True: + try: + return int(input(message)) + except ValueError: + print("lütfen gecerli bir deger giriniz") + +def show_message(message): + print(message) + input("\nDevam etmek için bir tuşa basın...") + +# Menu başlıgını yazdırır. +def menu_header(menu_name, menu_width=30): + clear_screen() + + print(menu_width*'-') + print(f"\033[1;33m"+ menu_name.center(menu_width)+f"\033[0m") + print(menu_width*'-') + +# Ana menuyu yazdırır. +def show_main_menu(): + menu_width = 30 + menu_header("Task Manager") + + print("1 - Add new task") + print("2 - Delete task") + print("3 - Complete task") + print("4 - List completed tasks") + print("5 - List all tasks") + print("6 - Exit") + print(menu_width*'-') + + selection = get_input() + clear_screen() + return selection + +def get_seq_number(): + existing_numbers = {task["seq_number"] for task in tasks} + i = 0 + while True: + if i not in existing_numbers: + return i + i += 1 + +def add_task(): + menu_header("Add Task") + + task = { + "seq_number": get_seq_number(), + "task_name": input("Görev: "), + "status":"Pending" + } + tasks.append(task) + show_message("Görev başarıyla eklendi.") + + + +def delete_task(): + menu_header("Delete Task",50) + seq_number = get_input("Silmek istediğiniz görev numarasını girin: ") + for task in tasks: + if task["seq_number"] == seq_number: + if task["status"] == "Deleted": + show_message("Bu görev zaten silinmiş.") + return + task["status"] = "Deleted" + task["seq_number"] = None + show_message("Görev başarıyla silindi.") + return + show_message("Görev bulunamadı.") + +def complete_task(): + menu_header("Complete Task",50) + seq_number = get_input("Tamamlamak istediğiniz görev numarasını girin: ") + for task in tasks: + if task["seq_number"] == seq_number: + if task["status"] == "Completed": + show_message("Bu görev zaten tamamlanmış.") + return + + task["status"] = "Completed" + show_message("Görev başarıyla tamamlandı.") + return + + show_message("Görev bulunamadı.") + +def list_completed_tasks(): + menu_header("Completed Tasks", 50) + + completed_tasks = [task for task in tasks if task["status"] == "Completed"] + if not completed_tasks: + show_message("Tamamlanmış görev bulunamadı.") + else: + for task in completed_tasks: + print(f"{task['seq_number']}. {task['task_name']}") + input("\nDevam etmek için bir tuşa basın...") + +def list_tasks(): + menu_header("All Tasks\nS.No\tTask\tStatus", 30) + + if not tasks: + show_message("Görev bulunamadı.") + + else: + sorted_tasks = sorted(tasks, key=lambda x: x['seq_number']) + for task in sorted_tasks: + print(f"{task['seq_number']}\t{task['task_name']}\t{task['status']}") + input("\nDevam etmek için bir tuşa basın...") + +while True: + selection = show_main_menu() + if selection == 1: + add_task() + elif selection == 2: + delete_task() + elif selection == 3: + complete_task() + elif selection == 4: + list_completed_tasks() + elif selection == 5: + list_tasks() + elif selection == 6: + break + else: + print("Geçersiz seçim. Lütfen tekrar deneyin.") \ No newline at end of file diff --git a/mehmet/main.py b/mehmet/main.py new file mode 100644 index 0000000..e69de29 diff --git a/mustafa/main.py b/mustafa/main.py new file mode 100644 index 0000000..63283a0 --- /dev/null +++ b/mustafa/main.py @@ -0,0 +1,109 @@ +gorevler = [] + +def sira_numarasi_al(): + mevcut_numaralar = {gorev['sira_numarasi'] for gorev in gorevler if gorev['durum'] != "Silindi"} + i = 1 + while True: + if i not in mevcut_numaralar: + return i + i += 1 + +def yeni_gorev_ekle(): + gorev_adi = input("Yeni Görev Adını Giriniz: ") + sira_numarasi = sira_numarasi_al() + gorev = {"sira_numarasi": sira_numarasi, "gorev_adi": gorev_adi, "durum": "Bekleniyor"} + gorevler.append(gorev) + print(f"Görev Eklendi: {sira_numarasi} - {gorev_adi}") + +def butun_listeyi_goruntule(): + print("Bütün Görevler: ") + found = False + for gorev in sorted(gorevler, key=lambda x: x["sira_numarasi"]): + if gorev["durum"] != "Silindi": + print(f"{gorev['sira_numarasi']} - {gorev['gorev_adi']} - {gorev['durum']}") + found = True + if not found: + print("Listelenecek Görev Yok.") + +def tamamlanan_gorevleri_listele(): + print("Tamamlanan Görevler:") + found = False + for gorev in sorted(gorevler, key=lambda x: x["sira_numarasi"]): + if gorev["durum"] == "Tamamlandı": + print(f"{gorev['sira_numarasi']} - {gorev['gorev_adi']}") + found = True + if not found: + print("Tamamlanan Görev Yok.") + +def gorevi_tamamla(): + aktif_gorevler = [g for g in gorevler if g["durum"] != "Silindi"] + if not aktif_gorevler: + print("Tamamlanacak görev yok.") + return + print("Seçim Yapabilmeniz İçin Bütün Liste Getiriliyor.") + butun_listeyi_goruntule() + try: + sira = int(input("Tamamlanacak Görevin Sıra Numarasını Giriniz: ")) + for gorev in gorevler: + if gorev["sira_numarasi"] == sira and gorev["durum"] != "Silindi": + gorev["durum"] = "Tamamlandı" + print(f"Görev Tamamlandı: {gorev['sira_numarasi']} - {gorev['gorev_adi']}") + return + print("Görev Bulunamadı.") + except ValueError: + print("Geçersiz Giriş Yaptınız.") + +def gorevi_sil(): + aktif_gorevler = [g for g in gorevler if g["durum"] != "Silindi"] + if not aktif_gorevler: + print("Silinecek görev yok.") + return + print("Seçim Yapabilmeniz İçin Bütün Liste Getiriliyor.") + butun_listeyi_goruntule() + try: + sira = int(input("Silenecek Görevin Sıra Numarasını Giriniz: ")) + for gorev in gorevler: + if gorev["sira_numarasi"] == sira and gorev["durum"] != "Silindi": + gorev["durum"] = "Silindi" + print(f"Görev Silindi: {gorev['sira_numarasi']} - {gorev['gorev_adi']}") + return + print("Görev bulunamadı.") + except ValueError: + print("Geçersiz Giriş Yaptınız.") + +def menu(): + print("") + print("1. Yeni Görev Ekle") + print("2. Bütün Listeyi Görüntüle") + print("3. Tamamlanan GÖrevleri Listele") + print("4. Görevi Tamamla") + print("5. Görevi Sil") + print("6. Çıkış") + +def calistir(): + menu() + + while True: + secim = input("\n1-6 Arasında Seçim Yapınız:\n...") + if secim == "1": + yeni_gorev_ekle() + elif secim == "2": + butun_listeyi_goruntule() + elif secim == "3": + tamamlanan_gorevleri_listele() + elif secim == "4": + gorevi_tamamla() + elif secim == "5": + gorevi_sil() + elif secim == "6": + print("Çıkış Yapılıyor...") + break + else: + print("Geçersiz Seçim.") + + menu() + +if __name__=="__main__": + calistir() + +