diff --git a/Customer_Management_System/ali/main.py b/Customer_Management_System/ali/main.py new file mode 100644 index 0000000..e69de29 diff --git a/Customer_Management_System/furkan/main.py b/Customer_Management_System/furkan/main.py new file mode 100644 index 0000000..e69de29 diff --git a/Customer_Management_System/kursad/main.py b/Customer_Management_System/kursad/main.py new file mode 100644 index 0000000..e69de29 diff --git a/Customer_Management_System/mehmet/main.py b/Customer_Management_System/mehmet/main.py new file mode 100644 index 0000000..b788793 --- /dev/null +++ b/Customer_Management_System/mehmet/main.py @@ -0,0 +1,18 @@ +def add_customer(customers, next_id): + print("Yeni musteri ekleme islemi:") + + name = input("Musteri adi: ") + surname = input("Musteri soyadi: ") + email = input("E-posta adresi: ") + phone = input("Telefon numarasi: ") + + # Yeni musteri bilgilerini sozluge ekle + customers[next_id] = { + "name": name, + "surname": surname, + "email": email, + "phone": phone + } + + print(f"{next_id} ID numarasi ile musteri eklendi.") + return next_id + 1 # Sonraki musteri ID'si icin bir sonraki numarayi dondur diff --git a/Customer_Management_System/mustafa/main.py b/Customer_Management_System/mustafa/main.py new file mode 100644 index 0000000..13d9cda --- /dev/null +++ b/Customer_Management_System/mustafa/main.py @@ -0,0 +1,99 @@ +musteriler = [12345, 23456, 34567] +bilgileri = [["ahmet Mümtaz", "ahmet@gmail.com", "0685001122"], ["Fırat Tanış", "fırat@gmail.com", "0685112233"], + ["Taner Birsel", "taner@gmail.com", "0685223344"]] +musteri_bilgi = dict(zip(musteriler, bilgileri)) + +while True: + print("Tüm Müşterileri Listelemek İçin 1,\nYeni Müşteri Eklemek İçin 2,\nMüşteri Bilgilerini Güncellemek İçin 3,\n" \ + "Müşteriyi Silmek için 4,\n Çıkış Yapmak İçin 5,\nYazınız") + secim = input("...") + + if secim == '1': + if not musteri_bilgi: + print("Henüz Herhangi Bir Müşteri Girlmemiştir.") + else: + print("Film Deposunun Güncel Hali: ") + for id, info in musteri_bilgi.items(): + print(f"{id} ID numaralı müşterinin, İsmi: {info[0]}, Mail Adresi: {info[1]}, Telefon Numarası: {info[2]}") + + elif secim == '2': + while True: + id = int(input("Müşterinin ID'si")) + if id in musteri_bilgi: + print("Girdiğiniz ID'li müşteri zaten kayıtlı.") + else: + musteri_bilgi[id] = [ + input("Müşterinin Adı: "), + input("Müşterinin Mail Adresi: "), + input("Müşterinin Telefon Numarası: "), + ] + + while True: + enyeni_id = input("Eğer yeni bir müşteri daha girecekseniz 'E',\nAna menüye dönecekseniz 'M'\nYazınız") + if enyeni_id.lower() == 'e': + break + elif enyeni_id.lower() == 'm': + for id, bilgileri in musteri_bilgi.items(): + print(f"""Güncel Müşteri Listesi: + \n{id} ID numaralı müşterinin \nAdı: {bilgileri[0]}, + Mail Adresi: {bilgileri[1]}, + Telefon Numarası: {bilgileri[2]}""") + break + else: + print("Geçersiz bir giriş yaptınız.") + + if enyeni_id.lower() == 'm': + break + + elif secim == '3': + if not musteri_bilgi: + print("Müşteri Listsi Boştur.") + continue + + try: + secim3 = int(input("Güncellenecek Müşteri ID'si: ")) + except ValueError: + print("Geçerli bir sayısal ID giriniz.") + continue + + if secim3 in musteri_bilgi: + print(f"{secim3} ID'li müşteri bulundu.") + print(f"Mevcut Bilgileri: \nAdı: {secim3[0]}\nMaili: {secim3[1]}\nTelefonu: {secim3[2]}") + + musteri_bilgi[secim3] = [ + input("Müşterinin Adı: "), + input("Müşterinin Maili: "), + input("Müşterinin Telefonu: ") + ] + print("Müşteri Bilgileri Güncellendi.") + else: + print("Girdiğiniz ID'li müşteri listede yok.") + + elif secim == '4': + if not musteri_bilgi: + print("Müşteri Listsi Boştur.") + continue + + while True: + try: + secim4 = int(input("Silmek İstenen Müşteri ID'si: ")) + if secim4 in musteri_bilgi: + onay = input(f"{secim4} ID'li müşteriyi silmek istediğinize emin misiniz? Evet ise 'E' basınız.") + if onay.lower() == 'e': + del musteri_bilgi[secim4] + print(f"{secim4} ID'li müşteri bilgileri listeden silindi.") + else: + print("Silme işlemi iptal edildi.") + else: + print(f"{secim4} ID'li müşteri listede yok.") + break + except ValueError: + print("Geçerli bir sayısal ID giriniz.") + + elif secim == '5': + print("Çıkılıyor...") + break + + else: + print("Hatalı Giriş Yaptınmız, 1-5 arasında bir değer giriniz.") + diff --git a/Film_Library_Management_System/add_movie.py b/Film_Library_Management_System/add_movie.py new file mode 100644 index 0000000..25c1b8f --- /dev/null +++ b/Film_Library_Management_System/add_movie.py @@ -0,0 +1,20 @@ +director = [] +isim= [] +year= [] +tur= [] + + +a = input("Yönetmen Adını Giriniz: ") +b = input("Film adını Giriniz: ") +c = input("Yayın yılını giriniz: ") +d = input("Türünü giriniz: ") + +director.append(a) +isim.append(b) +year.append(c) +tur.append(d) + +print("Yönetmen Adı: ",director[0]) +print("Film Adı: ",isim[0]) +print("Yayın Yılı: ",year[0]) +print("Tür: ",tur[0]) diff --git a/Film_Library_Management_System/ali/main.py b/Film_Library_Management_System/ali/main.py new file mode 100644 index 0000000..e69de29 diff --git a/Film_Library_Management_System/furkan/main.py b/Film_Library_Management_System/furkan/main.py new file mode 100644 index 0000000..fea8fc3 --- /dev/null +++ b/Film_Library_Management_System/furkan/main.py @@ -0,0 +1,73 @@ +#yapay zeka'nın yardımıyla yapildi. + + +def film_ekle(filmler): + film = { + 'isim': input("Film adı: "), + 'yonetmen': input("Yönetmen: "), + 'yayin_yili': input("Yayın yılı: "), + 'tur': input("Tür: ") + } + filmler.append(film) + print("Film eklendi!") + +def film_duzenle(filmler): + film_adi = input("Düzenlemek istediğiniz film adı: ") + for film in filmler: + if film['isim'].lower() == film_adi.lower(): + film['isim'] = input("Yeni film adı: ") + film['yonetmen'] = input("Yeni yönetmen: ") + film['yayin_yili'] = input("Yeni yayın yılı: ") + film['tur'] = input("Yeni tür: ") + print("Film düzenlendi!") + return + print("Film bulunamadı.") + +def film_sil(filmler): + film_adi = input("Silmek istediğiniz film adı: ") + for film in filmler: + if film['isim'].lower() == film_adi.lower(): + filmler.remove(film) + print("Film silindi!") + return + print("Film bulunamadı.") + +def koleksiyonu_goruntule(filmler): + filtre = input("Tüm filmleri görüntüle (hepsi) veya tür/yıl ile filtrele (tur/yil): ").lower() + if filtre == 'hepsi': + for film in filmler: + print(film) + elif filtre == 'tur': + tur = input("Tür: ") + for film in filmler: + if film['tur'].lower() == tur.lower(): + print(film) + elif filtre == 'yil': + yil = input("Yayın yılı: ") + for film in filmler: + if film['yayin_yili'] == yil: + print(film) + else: + print("Geçersiz seçenek.") + +def main(): + filmler = [] + while True: + print("\n1. Film ekle\n2. Film düzenle\n3. Film sil\n4. Koleksiyonu görüntüle\n5. Çıkış") + secim = input("Seçiminiz: ") + if secim == '1': + film_ekle(filmler) + elif secim == '2': + film_duzenle(filmler) + elif secim == '3': + film_sil(filmler) + elif secim == '4': + koleksiyonu_goruntule(filmler) + elif secim == '5': + print("Çıkılıyor.") + break + else: + print("Geçersiz seçim.") + +if __name__ == "__main__": + main() diff --git a/Film_Library_Management_System/furkan/project2_furkan.py b/Film_Library_Management_System/furkan/project2_furkan.py new file mode 100644 index 0000000..25c1b8f --- /dev/null +++ b/Film_Library_Management_System/furkan/project2_furkan.py @@ -0,0 +1,20 @@ +director = [] +isim= [] +year= [] +tur= [] + + +a = input("Yönetmen Adını Giriniz: ") +b = input("Film adını Giriniz: ") +c = input("Yayın yılını giriniz: ") +d = input("Türünü giriniz: ") + +director.append(a) +isim.append(b) +year.append(c) +tur.append(d) + +print("Yönetmen Adı: ",director[0]) +print("Film Adı: ",isim[0]) +print("Yayın Yılı: ",year[0]) +print("Tür: ",tur[0]) diff --git a/Film_Library_Management_System/kursad/main.py b/Film_Library_Management_System/kursad/main.py new file mode 100644 index 0000000..a081f87 --- /dev/null +++ b/Film_Library_Management_System/kursad/main.py @@ -0,0 +1,177 @@ +import json +import os + +clear_screen = lambda: os.system('cls' if os.name == 'nt' else 'clear') + +# Dosya yolu: bu sayede 'main.py' ile aynı klasördeki 'movies.json' dosyasına erişilir +file_path = os.path.join(os.path.dirname(__file__), "movies.json") + +# JSON verisini oku +with open(file_path, 'r', encoding="utf-8") as file: + movies = json.load(file) + +# JSON verisini güncelleme fonksiyonu +def update_movies_json(movies_dict, filename=file_path): + with open(filename, 'w', encoding='utf-8') as file: + json.dump(movies_dict, file, indent=4, ensure_ascii=False) + +# Belirlenen bir aralıktaki sayısal girişi gecerli olarak alır. +def get_input(range, message="Lütfen bir işlem numarası giriniz:"): + while True: + try: + sel = int(input(message)) + if sel in range: + return sel + except ValueError: + print("lütfen gecerli bir deger giriniz") + +# Menu başlıgını yazdırır. +def menu_header(menu_name): + clear_screen() + global menu_width + menu_width = 30 + 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_name = "Movie Library" + menu_header(menu_name) + + print("1 - Add movie") + print("2 - Delete movie") + print("3 - Edit movie") + print("4 - View all movies") + print("5 - Exit") + print(menu_width*'-') + + selection = get_input(range(1,6)) + clear_screen() + return selection + +# Film listesinden sıra numarası girilen filmi silme, dğzenleme islemleri icin secerek filmin adını döndürür. +def select_movie(message): + movie_list = [] + + for index, movie in enumerate(movies): + movie_list.append(movie) + print(f"{index+1}. {movie}") + + print(menu_width*'-') + selection = get_input(range(len(movies)+1), message ) + + clear_screen() + if selection != 0: + return movie_list[selection-1] + else: + return None + +# Düzenlenecek filmin detaylarını gösterir. +def show_movie_details(movie): + menu_name = movie + " - Movie Details" + menu_header(menu_name) + + print(f"Title\t\t: {movie}") + print(f"Director\t: {movies[movie]['director']}") + print(f"Release Year\t: {movies[movie]['release_year']}") + print(f"Genre\t\t: {movies[movie]['genre']}") + print(f"Lead Actor\t: {movies[movie]['lead_actor']}") + + print(menu_width*'-') + +# Seçilen filmin düzenlenmesinmi sağlar. +def change_details(movie): + print(f"\n\nEditing movie: {movie}") + info = movies[movie] + for key, value in info.items(): + print(f"{key.capitalize()}: {value}") + print() + + director = input("Enter new value for director (press Enter to keep current value): ") + if director: + info["director"] = director + + release_year = input("Enter new value for voor release year (press Enter to keep current value): ") + if release_year: + info["release_year"] = release_year + genre = input("Enter the new value for the genre of the movie: ") + if genre: + info["genre"] = genre + lead_actor = input("Enter the new value for the lead actor of the movie: ") + if lead_actor: + info["lead_actor"] = lead_actor + update_movies_json(movies) + print("Movie edited successfully!") + input("Press Enter to continue...") + +def edit_movie(): + menu_name = "Edit Movie" + menu_header(menu_name) + message = "Düzenlemek istediğiniz filmin numarasını giriniz, vazgeçmek için 0'a basınsınız :" + movie = select_movie(message) + + if movie != None: + show_movie_details(movie) + change_details(movie) + + # Seçilen filmin silinnmesinmi sağlar. +def delete_movie(): + menu_name = "Delete Movie" + menu_header(menu_name) + message = "Silmek istediğiniz filmin numarasını giriniz, vazgeçmek için 0'a basınsınız :" + movie = select_movie(message) + + if movie != None: + if input(f"\nAre you sure you want to delete ? (Y/N) : ").lower() == "y": + del movies[movie] + update_movies_json(movies) + print("Movie deleted successfully!") + input("Press Enter to continue...") + +def view_movies(): + menu_name = "View Movies" + menu_header(menu_name) + + for movie in movies: + show_movie_details(movie) + input("Press Enter to continue...") + +def get_new_movie(): + info = {} + title = input("Movie name : ") + info["director"] = input("Director: ") + info["release_year"] = int(get_input(range(1900,2100),"Release Year: ")) + info["genre"] = input("Genre: ") + info["lead_actor"] = input("Lead Actor: ") + + return title, info + +def add_movie(): + menu_name = "Add Movie" + menu_header(menu_name) + + title, info = get_new_movie() + movies[title] = info + update_movies_json(movies) + print("\nMovie added successfully!") + input("Press Enter to continue...") + +while True: + selection = show_main_menu() + if selection == 1: + add_movie() + elif selection == 2: + delete_movie() + elif selection == 3: + edit_movie() + elif selection == 4: + view_movies() + elif selection == 5: + break + + + + + + diff --git a/Film_Library_Management_System/kursad/movies.json b/Film_Library_Management_System/kursad/movies.json new file mode 100644 index 0000000..66fca8b --- /dev/null +++ b/Film_Library_Management_System/kursad/movies.json @@ -0,0 +1,32 @@ +{ + "The Shawshank Redemption": { + "director": "Frank Darabont", + "release_year": 1994, + "genre": "Drama", + "lead_actor": "Tim Robbins" + }, + "The Godfather": { + "director": "Francis Ford Coppola", + "release_year": 1972, + "genre": "Crime", + "lead_actor": "Marlon Brando" + }, + "Inception": { + "director": "Christopher Nolan", + "release_year": 2010, + "genre": "Sci-Fi", + "lead_actor": "Leonardo DiCaprio" + }, + "The Matrix": { + "director": "Lana Wachowski, Lilly Wachowski", + "release_year": 1999, + "genre": "Sci-Fi", + "lead_actor": "Keanu Reeves" + }, + "Titanic": { + "director": "James Cameron", + "release_year": 1997, + "genre": "Romance", + "lead_actor": "Leonardo DiCaprio" + } +} \ No newline at end of file diff --git a/Film_Library_Management_System/mehmet/main.py b/Film_Library_Management_System/mehmet/main.py new file mode 100644 index 0000000..dbf7f4f --- /dev/null +++ b/Film_Library_Management_System/mehmet/main.py @@ -0,0 +1,48 @@ +# edit_delete_movie.py + +def edit_movie(movies): + name = input("Duzenlemek istediginiz filmin adini girin: ") + + if name in movies: + print("Ne degistirmek istersiniz?") + print("1. Film adi") + print("2. Yonetmen") + print("3. Yayin yili") + print("4. Tur") + choice = input("Seciminiz (1-4): ") + + if choice == "1": + new_name = input("Yeni film adini girin: ") + movies[new_name] = movies[name] # eski bilgiyi yeni adla kopyala + del movies[name] # eski filmi sil + print("Film adi guncellendi.") + elif choice == "2": + new_director = input("Yeni yonetmeni girin: ") + movies[name]["director"] = new_director + print("Yonetmen guncellendi.") + elif choice == "3": + new_year = input("Yeni yili girin: ") + movies[name]["year"] = new_year + print("Yil guncellendi.") + elif choice == "4": + new_genre = input("Yeni turu girin: ") + movies[name]["genre"] = new_genre + print("Tur guncellendi.") + else: + print("Gecersiz secim!") + else: + print("Film bulunamadi!") + + +def delete_movie(movies): + name = input("Silmek istediginiz filmin adini girin: ") + + if name in movies: + confirm = input(f"{name} filmini silmek istiyor musunuz? (e/h): ") + if confirm.lower() == "e": + del movies[name] + print("Film silindi.") + else: + print("Silme iptal edildi.") + else: + print("Film bulunamadi!") diff --git a/Film_Library_Management_System/mustafa/main.py b/Film_Library_Management_System/mustafa/main.py new file mode 100644 index 0000000..ab327d7 --- /dev/null +++ b/Film_Library_Management_System/mustafa/main.py @@ -0,0 +1,95 @@ +film_deposu = { + 'Forrest Gump': [1994, 'Dram', 'Robert Zemeckis'], + 'Terminator 2': [1991, 'Aksiyon', 'James Cameron'], + 'İnception': [2010, 'Bilim Kurgu', 'Christopher Nolan'], + 'Piyanist': [2002, 'Trajedi', 'Roman Polnaski'], + 'Prestij': [2006, 'Dram', 'Christopher Nolan'] +} + +while True: + print("Film listelerini görüntülemek için 1,\nFİlm eklemek için 2, \nFilm düzenlemek için 3, \nFilm silmek için 4 yazınız.") + secim1 = input("...") + + if secim1 == '1': + if not film_deposu: + print("Henüz film eklenmemiştir.") + else: + print("Film Deposunun Güncel Hali: ") + for film, bilgiler in film_deposu.items(): + print(f"- {film}: Yapım Yılı: {bilgiler[0]}, Tür: {bilgiler[1]}, Yönetmen: {bilgiler[2]}") + + + elif secim1 == '2': + while True: + film_adi = input("Filmin Adı: ") + film_deposu[film_adi] = [ + input("Yapım Yılı: "), + input("Türü: "), + input("Yönetmeni: ") + ] + + while True: + yeni_film = input("Yeni bir film daha girecekseniz 'E', \nMenüde devam etmek için ise 'M' harfine basınız: ") + if yeni_film.lower() == 'e': + break + elif yeni_film.lower() == 'm': + print("Film Deposunun Güncel Hali:") + for film, bilgiler in film_deposu.items(): + print(f"- {film}: Yapım Yılı: {bilgiler[0]}, Tür: {bilgiler[1]}, Yönetmen: {bilgiler[2]}") + break + else: + print("Geçersiz bir seçim yaptınız.") + + if yeni_film.lower() == 'm': + break + + elif secim1 == '3': + if not film_deposu: + print("Henüz film eklenmemiştir.") + continue + print("Düzenlemek istediğiniz filmi seçiniz: ") + film_listesi = list(film_deposu.keys()) + for i, film in enumerate(film_listesi, 1): + print(f"{i}. {film}") + + try: + secim2 = int(input("Film Numarasını Giriniz: ")) - 1 + film_adi = film_listesi[secim2] + + print("Mevcut Bilgiler: ") + print("1- Yapım Yılı: ", film_deposu[film_adi][0]) + print("2- Türü: ", film_deposu[film_adi][1]) + print("3- Yönetmeni: ", film_deposu[film_adi][2]) + + degisiklik = input("Hangi bilgiyi düzenlemek istiyorsunuz? 1, 2 veya 3 Yazınız: ") + + if degisiklik == '1': + film_deposu[film_adi][0] = input("Yeni yapım yılı: ") + elif degisiklik == '2': + film_deposu[film_adi][1] = input("Yeni Tür: ") + elif degisiklik == '3': + film_deposu[film_adi][2] = input("Yeni Yönetmen: ") + else: + print("Geçersiz seçim.") + except (IndexError, ValueError): + print("Geçersiz Film Numarası") + + elif secim1 == '4': + if not film_deposu: + print("Henüz film eklenmemiştir.") + continue + print("Silmek istediğiniz filmi seçiniz: ") + film_listesi = list(film_deposu.keys()) + for i, film in enumerate(film_listesi, 1): + print(f"{i}- {film}") + + try: + secim3 = int(input("Film Numarasını Giriniz: ")) - 1 + film_adi = film_listesi[secim3] + del film_deposu[film_adi] + print(f"{film_adi} filmi silindi.") + except (IndexError, ValueError): + print("Geçersiz Film Numarası") + + + \ No newline at end of file diff --git a/README.md b/Readme.md similarity index 100% rename from README.md rename to Readme.md diff --git a/Student_Grades_Calculation/ali/grades.ipynb b/Student_Grades_Calculation/ali/grades.ipynb new file mode 100644 index 0000000..7ddc06f --- /dev/null +++ b/Student_Grades_Calculation/ali/grades.ipynb @@ -0,0 +1,134 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question1: Student Grades Processing\n", + "You need to write a Python program to process a student's grades. The program needs to perform the following functions:\n", + "\n", + "Store information and notes for 10 students using a dictionary. Let each student have their name, surname and grades (Midterm, Final and Oral grades). For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "students = {\n", + " 'Ahmet Yılmaz': [85, 90, 78], # Midterm: 85, Final: 90, Oral: 78\n", + " 'Mehmet Demir': [92, 88, 76], # Midterm: 92, Final: 88, Oral: 76\n", + " 'Ayşe Kaya': [78, 89, 95], # Midterm: 78, Final: 89, Oral: 95\n", + " 'Zeynep Çelik': [65, 70, 80], # Midterm: 65, Final: 70, Oral: 80\n", + " 'Ali Kara': [50, 60, 55], # Midterm: 50, Final: 60, Oral: 55\n", + " 'Fatma Yıldız': [88, 85, 90], # Midterm: 88, Final: 85, Oral: 90\n", + " 'Murat Aydın': [72, 68, 74], # Midterm: 72, Final: 68, Oral: 74\n", + " 'Elif Aksoy': [95, 90, 88], # Midterm: 95, Final: 90, Oral: 88\n", + " 'Hakan Öztürk': [45, 50, 55], # Midterm: 45, Final: 50, Oral: 55\n", + " 'Canan Taş': [80, 75, 82] # Midterm: 80, Final: 75, Oral: 82\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1-Calculate each student's GPA and add it to the dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2-Find the student with the highest GPA and print it on the screen." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "3- Separate each student's name from their surname and store them in a separate tuple and add them to a list." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "notes" + } + }, + "source": [ + "4-Sort the names in alphabetical order and print the sorted list on the screen." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "notes" + } + }, + "source": [ + "5-Keep students with a GPA below 70 in a cluster (set)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Student_Grades_Calculation/furkan/furkan.py b/Student_Grades_Calculation/furkan/furkan.py new file mode 100644 index 0000000..e36fa9d --- /dev/null +++ b/Student_Grades_Calculation/furkan/furkan.py @@ -0,0 +1,35 @@ +students = { + 'Ahmet Yılmaz': [85, 90, 78], # Midterm: 85, Final: 90, Oral: 78 + 'Mehmet Demir': [92, 88, 76], # Midterm: 92, Final: 88, Oral: 76 + 'Ayşe Kaya': [78, 89, 95], # Midterm: 78, Final: 89, Oral: 95 + 'Zeynep Çelik': [65, 70, 80], # Midterm: 65, Final: 70, Oral: 80 + 'Ali Kara': [50, 60, 55], # Midterm: 50, Final: 60, Oral: 55 + 'Fatma Yıldız': [88, 85, 90], # Midterm: 88, Final: 85, Oral: 90 + 'Murat Aydın': [72, 68, 74], # Midterm: 72, Final: 68, Oral: 74 + 'Elif Aksoy': [95, 90, 88], # Midterm: 95, Final: 90, Oral: 88 + 'Hakan Öztürk': [45, 50, 55], # Midterm: 45, Final: 50, Oral: 55 + 'Canan Taş': [80, 75, 82] # Midterm: 80, Final: 75, Oral: 82 +} +yukseknot = 0 +yuksekogrenci = "" +ads = [] +soyads= [] +alfabetik = [] +zayif = [] +for student, noot in students.items(): + mid,final,oral = noot + ort= (mid * 0.3 + final * 0.5 + oral * 0.2) + if ort > yukseknot: + yukseknot = ort + yuksekogrenci = student + if ort < 70: + zayif.append(student) +print("En yüksek notu alan öğrenci: ", yuksekogrenci) +for isim in students.keys(): + ad, soyad = isim.split() + ads.append(ad) + soyads.append(soyad) +print("Ogrenciler: ") +for isim in sorted(students.keys()): + print(isim) +print("70 altı GPA ya sahip olan ogrenciler: ",zayif) diff --git a/Student_Grades_Calculation/furkan/grades.ipynb b/Student_Grades_Calculation/furkan/grades.ipynb new file mode 100644 index 0000000..9b2a534 --- /dev/null +++ b/Student_Grades_Calculation/furkan/grades.ipynb @@ -0,0 +1,223 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question1: Student Grades Processing\n", + "You need to write a Python program to process a student's grades. The program needs to perform the following functions:\n", + "\n", + "Store information and notes for 10 students using a dictionary. Let each student have their name, surname and grades (Midterm, Final and Oral grades). For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "students = {\n", + " 'Ahmet Yılmaz': [85, 90, 78], # Midterm: 85, Final: 90, Oral: 78\n", + " 'Mehmet Demir': [92, 88, 76], # Midterm: 92, Final: 88, Oral: 76\n", + " 'Ayşe Kaya': [78, 89, 95], # Midterm: 78, Final: 89, Oral: 95\n", + " 'Zeynep Çelik': [65, 70, 80], # Midterm: 65, Final: 70, Oral: 80\n", + " 'Ali Kara': [50, 60, 55], # Midterm: 50, Final: 60, Oral: 55\n", + " 'Fatma Yıldız': [88, 85, 90], # Midterm: 88, Final: 85, Oral: 90\n", + " 'Murat Aydın': [72, 68, 74], # Midterm: 72, Final: 68, Oral: 74\n", + " 'Elif Aksoy': [95, 90, 88], # Midterm: 95, Final: 90, Oral: 88\n", + " 'Hakan Öztürk': [45, 50, 55], # Midterm: 45, Final: 50, Oral: 55\n", + " 'Canan Taş': [80, 75, 82] # Midterm: 80, Final: 75, Oral: 82\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1-Calculate each student's GPA and add it to the dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Ahmet Yılmaz': [85, 90, 78, 85],\n", + " 'Mehmet Demir': [92, 88, 76, 86],\n", + " 'Ayşe Kaya': [78, 89, 95, 88],\n", + " 'Zeynep Çelik': [65, 70, 80, 72],\n", + " 'Ali Kara': [50, 60, 55, 55],\n", + " 'Fatma Yıldız': [88, 85, 90, 88],\n", + " 'Murat Aydın': [72, 68, 74, 72],\n", + " 'Elif Aksoy': [95, 90, 88, 91],\n", + " 'Hakan Öztürk': [45, 50, 55, 50],\n", + " 'Canan Taş': [80, 75, 82, 79]}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import math\n", + "import numpy as np\n", + "\n", + "for grade in students.items():\n", + " grade[1].append(math.ceil(np.mean(grade[1])))\n", + " \n", + "students" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2-Find the student with the highest GPA and print it on the screen." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " En yuksek GPA'ya sahip ogrenciler: Elif Aksoy, GPA : 91\n" + ] + } + ], + "source": [ + "gpa = max(grade[1][3] for grade in students.items())\n", + "student_names = [grade[0] for grade in students.items() if grade[1][3] == gpa]\n", + "\n", + "print(f\" En yuksek GPA'ya sahip ogrenciler: {\", \".join(student_names)}, GPA : {gpa}\" )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "3- Separate each student's name from their surname and store them in a separate tuple and add them to a list." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('Ahmet', 'Mehmet', 'Ayşe', 'Zeynep', 'Ali', 'Fatma', 'Murat', 'Elif', 'Hakan', 'Canan') ('Yılmaz', 'Demir', 'Kaya', 'Çelik', 'Kara', 'Yıldız', 'Aydın', 'Aksoy', 'Öztürk', 'Taş')\n" + ] + } + ], + "source": [ + "def get_names(students):\n", + " names = tuple(grade[0].split()[0] for grade in students.items())\n", + " surnames = tuple(grade[0].split()[1] for grade in students.items())\n", + " return names, surnames\n", + "\n", + "names, surnames = get_names(students)\n", + "print(names, surnames)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "notes" + } + }, + "source": [ + "4-Sort the names in alphabetical order and print the sorted list on the screen." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ahmet\n", + "Ali\n", + "Ayşe\n", + "Canan\n", + "Elif\n", + "Fatma\n", + "Hakan\n", + "Mehmet\n", + "Murat\n", + "Zeynep\n" + ] + } + ], + "source": [ + "for name in sorted(names):\n", + " print(name)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "notes" + } + }, + "source": [ + "5-Keep students with a GPA below 70 in a cluster (set)." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'Hakan Öztürk', 'Ali Kara'}\n" + ] + } + ], + "source": [ + "students_below70 = set(student[0] for student in students.items() if student[1][-1] < 70)\n", + "\n", + "print(students_below70)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Student_Grades_Calculation/kursad/grades.ipynb b/Student_Grades_Calculation/kursad/grades.ipynb new file mode 100644 index 0000000..9b2a534 --- /dev/null +++ b/Student_Grades_Calculation/kursad/grades.ipynb @@ -0,0 +1,223 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question1: Student Grades Processing\n", + "You need to write a Python program to process a student's grades. The program needs to perform the following functions:\n", + "\n", + "Store information and notes for 10 students using a dictionary. Let each student have their name, surname and grades (Midterm, Final and Oral grades). For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "students = {\n", + " 'Ahmet Yılmaz': [85, 90, 78], # Midterm: 85, Final: 90, Oral: 78\n", + " 'Mehmet Demir': [92, 88, 76], # Midterm: 92, Final: 88, Oral: 76\n", + " 'Ayşe Kaya': [78, 89, 95], # Midterm: 78, Final: 89, Oral: 95\n", + " 'Zeynep Çelik': [65, 70, 80], # Midterm: 65, Final: 70, Oral: 80\n", + " 'Ali Kara': [50, 60, 55], # Midterm: 50, Final: 60, Oral: 55\n", + " 'Fatma Yıldız': [88, 85, 90], # Midterm: 88, Final: 85, Oral: 90\n", + " 'Murat Aydın': [72, 68, 74], # Midterm: 72, Final: 68, Oral: 74\n", + " 'Elif Aksoy': [95, 90, 88], # Midterm: 95, Final: 90, Oral: 88\n", + " 'Hakan Öztürk': [45, 50, 55], # Midterm: 45, Final: 50, Oral: 55\n", + " 'Canan Taş': [80, 75, 82] # Midterm: 80, Final: 75, Oral: 82\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1-Calculate each student's GPA and add it to the dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Ahmet Yılmaz': [85, 90, 78, 85],\n", + " 'Mehmet Demir': [92, 88, 76, 86],\n", + " 'Ayşe Kaya': [78, 89, 95, 88],\n", + " 'Zeynep Çelik': [65, 70, 80, 72],\n", + " 'Ali Kara': [50, 60, 55, 55],\n", + " 'Fatma Yıldız': [88, 85, 90, 88],\n", + " 'Murat Aydın': [72, 68, 74, 72],\n", + " 'Elif Aksoy': [95, 90, 88, 91],\n", + " 'Hakan Öztürk': [45, 50, 55, 50],\n", + " 'Canan Taş': [80, 75, 82, 79]}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import math\n", + "import numpy as np\n", + "\n", + "for grade in students.items():\n", + " grade[1].append(math.ceil(np.mean(grade[1])))\n", + " \n", + "students" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2-Find the student with the highest GPA and print it on the screen." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " En yuksek GPA'ya sahip ogrenciler: Elif Aksoy, GPA : 91\n" + ] + } + ], + "source": [ + "gpa = max(grade[1][3] for grade in students.items())\n", + "student_names = [grade[0] for grade in students.items() if grade[1][3] == gpa]\n", + "\n", + "print(f\" En yuksek GPA'ya sahip ogrenciler: {\", \".join(student_names)}, GPA : {gpa}\" )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "3- Separate each student's name from their surname and store them in a separate tuple and add them to a list." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('Ahmet', 'Mehmet', 'Ayşe', 'Zeynep', 'Ali', 'Fatma', 'Murat', 'Elif', 'Hakan', 'Canan') ('Yılmaz', 'Demir', 'Kaya', 'Çelik', 'Kara', 'Yıldız', 'Aydın', 'Aksoy', 'Öztürk', 'Taş')\n" + ] + } + ], + "source": [ + "def get_names(students):\n", + " names = tuple(grade[0].split()[0] for grade in students.items())\n", + " surnames = tuple(grade[0].split()[1] for grade in students.items())\n", + " return names, surnames\n", + "\n", + "names, surnames = get_names(students)\n", + "print(names, surnames)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "notes" + } + }, + "source": [ + "4-Sort the names in alphabetical order and print the sorted list on the screen." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ahmet\n", + "Ali\n", + "Ayşe\n", + "Canan\n", + "Elif\n", + "Fatma\n", + "Hakan\n", + "Mehmet\n", + "Murat\n", + "Zeynep\n" + ] + } + ], + "source": [ + "for name in sorted(names):\n", + " print(name)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "notes" + } + }, + "source": [ + "5-Keep students with a GPA below 70 in a cluster (set)." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'Hakan Öztürk', 'Ali Kara'}\n" + ] + } + ], + "source": [ + "students_below70 = set(student[0] for student in students.items() if student[1][-1] < 70)\n", + "\n", + "print(students_below70)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Student_Grades_Calculation/mehmet/grades.ipynb b/Student_Grades_Calculation/mehmet/grades.ipynb new file mode 100644 index 0000000..9b2a534 --- /dev/null +++ b/Student_Grades_Calculation/mehmet/grades.ipynb @@ -0,0 +1,223 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question1: Student Grades Processing\n", + "You need to write a Python program to process a student's grades. The program needs to perform the following functions:\n", + "\n", + "Store information and notes for 10 students using a dictionary. Let each student have their name, surname and grades (Midterm, Final and Oral grades). For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "students = {\n", + " 'Ahmet Yılmaz': [85, 90, 78], # Midterm: 85, Final: 90, Oral: 78\n", + " 'Mehmet Demir': [92, 88, 76], # Midterm: 92, Final: 88, Oral: 76\n", + " 'Ayşe Kaya': [78, 89, 95], # Midterm: 78, Final: 89, Oral: 95\n", + " 'Zeynep Çelik': [65, 70, 80], # Midterm: 65, Final: 70, Oral: 80\n", + " 'Ali Kara': [50, 60, 55], # Midterm: 50, Final: 60, Oral: 55\n", + " 'Fatma Yıldız': [88, 85, 90], # Midterm: 88, Final: 85, Oral: 90\n", + " 'Murat Aydın': [72, 68, 74], # Midterm: 72, Final: 68, Oral: 74\n", + " 'Elif Aksoy': [95, 90, 88], # Midterm: 95, Final: 90, Oral: 88\n", + " 'Hakan Öztürk': [45, 50, 55], # Midterm: 45, Final: 50, Oral: 55\n", + " 'Canan Taş': [80, 75, 82] # Midterm: 80, Final: 75, Oral: 82\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1-Calculate each student's GPA and add it to the dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Ahmet Yılmaz': [85, 90, 78, 85],\n", + " 'Mehmet Demir': [92, 88, 76, 86],\n", + " 'Ayşe Kaya': [78, 89, 95, 88],\n", + " 'Zeynep Çelik': [65, 70, 80, 72],\n", + " 'Ali Kara': [50, 60, 55, 55],\n", + " 'Fatma Yıldız': [88, 85, 90, 88],\n", + " 'Murat Aydın': [72, 68, 74, 72],\n", + " 'Elif Aksoy': [95, 90, 88, 91],\n", + " 'Hakan Öztürk': [45, 50, 55, 50],\n", + " 'Canan Taş': [80, 75, 82, 79]}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import math\n", + "import numpy as np\n", + "\n", + "for grade in students.items():\n", + " grade[1].append(math.ceil(np.mean(grade[1])))\n", + " \n", + "students" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2-Find the student with the highest GPA and print it on the screen." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " En yuksek GPA'ya sahip ogrenciler: Elif Aksoy, GPA : 91\n" + ] + } + ], + "source": [ + "gpa = max(grade[1][3] for grade in students.items())\n", + "student_names = [grade[0] for grade in students.items() if grade[1][3] == gpa]\n", + "\n", + "print(f\" En yuksek GPA'ya sahip ogrenciler: {\", \".join(student_names)}, GPA : {gpa}\" )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "3- Separate each student's name from their surname and store them in a separate tuple and add them to a list." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('Ahmet', 'Mehmet', 'Ayşe', 'Zeynep', 'Ali', 'Fatma', 'Murat', 'Elif', 'Hakan', 'Canan') ('Yılmaz', 'Demir', 'Kaya', 'Çelik', 'Kara', 'Yıldız', 'Aydın', 'Aksoy', 'Öztürk', 'Taş')\n" + ] + } + ], + "source": [ + "def get_names(students):\n", + " names = tuple(grade[0].split()[0] for grade in students.items())\n", + " surnames = tuple(grade[0].split()[1] for grade in students.items())\n", + " return names, surnames\n", + "\n", + "names, surnames = get_names(students)\n", + "print(names, surnames)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "notes" + } + }, + "source": [ + "4-Sort the names in alphabetical order and print the sorted list on the screen." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ahmet\n", + "Ali\n", + "Ayşe\n", + "Canan\n", + "Elif\n", + "Fatma\n", + "Hakan\n", + "Mehmet\n", + "Murat\n", + "Zeynep\n" + ] + } + ], + "source": [ + "for name in sorted(names):\n", + " print(name)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "notes" + } + }, + "source": [ + "5-Keep students with a GPA below 70 in a cluster (set)." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'Hakan Öztürk', 'Ali Kara'}\n" + ] + } + ], + "source": [ + "students_below70 = set(student[0] for student in students.items() if student[1][-1] < 70)\n", + "\n", + "print(students_below70)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Student_Grades_Calculation/mehmet/ogrencilerle olan calisma b/Student_Grades_Calculation/mehmet/ogrencilerle olan calisma new file mode 100644 index 0000000..2409e5b --- /dev/null +++ b/Student_Grades_Calculation/mehmet/ogrencilerle olan calisma @@ -0,0 +1,47 @@ +students = { + 'Ahmet Yilmaz': [85, 90, 78], + 'Mehmet Demir': [92, 88, 76], + 'Ayse Kaya': [78, 89, 95], + 'Zeynep Celik': [65, 70, 80], + 'Ali Kara': [50, 60, 55], + 'Fatma Yildiz': [88, 85, 90], + 'Murat Aydin': [72, 68, 74], + 'Elif Aksoy': [95, 90, 88], + 'Hakan Ozturk': [45, 50, 55], + 'Canan Tas': [80, 75, 82] +} + +# GPA'leri tutmak icin yeni bir sozluk +gpa_dict = {} + +# GPA hesapla ve her ogrenciye ekle +for isim, notlar in students.items(): + vize = notlar[0] + final = notlar[1] + sozlu = notlar[2] + + gpa = (vize * 0.3) + (final * 0.5) + (sozlu * 0.2) + gpa_dict[isim] = gpa + +# En yuksek GPA'li ogrenciyi bul +en_yuksek_gpa = -1 +en_iyi_ogrenci = "" + +for isim, gpa in gpa_dict.items(): + if gpa > en_yuksek_gpa: + en_yuksek_gpa = gpa + en_iyi_ogrenci = isim + +print("En yuksek GPA'li ogrenci:") +print(f"{en_iyi_ogrenci} - GPA: {en_yuksek_gpa:.2f}") + +# GPA'si 70'ten dusuk olan ogrencileri bir kume (set) icine al +dusuk_gpa_kumesi = set() + +for isim, gpa in gpa_dict.items(): + if gpa < 70: + dusuk_gpa_kumesi.add(isim) + +print("\nGPA'si 70'ten dusuk olan ogrenciler:") +for isim in dusuk_gpa_kumesi: + print("- " + isim) diff --git "a/Student_Grades_Calculation/mustafa/mustafa \303\266\304\237renci \303\266devi.py" "b/Student_Grades_Calculation/mustafa/mustafa \303\266\304\237renci \303\266devi.py" new file mode 100644 index 0000000..2c1a718 --- /dev/null +++ "b/Student_Grades_Calculation/mustafa/mustafa \303\266\304\237renci \303\266devi.py" @@ -0,0 +1,68 @@ +ogrenciler = { + 'Ahmet YILMAZ': [85, 90, 78], + 'Mehmet DEMİR': [92, 88, 76], + 'Ayşe KAYA': [78, 89, 95], + 'Zeynep ÇELİK': [65, 70, 80], + 'Ali KARA': [50, 60, 55], + 'Fatma YILDIZ': [88, 85, 90], + 'Murat AYDIN': [72, 68, 74], + 'Elif AKSOY': [95, 90, 88], + 'Hakan ÖZTÜRK': [45, 50, 55], + 'Canan TAŞ': [80, 75, 82] +} + +#Her öğrencinin ortalaması notlarının yanına eklendi +for isim, notlar in ogrenciler.items(): + ortalama = round(sum(notlar) / len(notlar),2) + ogrenciler[isim] = { + 'notlar': notlar, + 'ortalama': ortalama + } + +#En yüksek ortalamayı bulma +ogrenci_listesi = list(ogrenciler.items()) +en_yuksek_ogrenci = ogrenci_listesi[0] +for ogrenci in ogrenci_listesi[1:]: + if ogrenci[1]['ortalama'] > en_yuksek_ogrenci[1]['ortalama']: + en_yuksek_ogrenci = ogrenci + +en_yuksek_isim = en_yuksek_ogrenci[0] +en_yuksek_ortalama = en_yuksek_ogrenci[1]['ortalama'] +print(f"En yüksek ortalaması olan öğrenci: {en_yuksek_isim}") +print(f"En yüksek ortalama: {en_yuksek_ortalama}") + +#Her öğrencinin adını soyadından ayırıp ayrı bir tuple saklayıp bir listeye ekleyin +ad_soyad_listesi = [] +for isim in ogrenciler.keys(): + ad, soyad = isim.split() + ad_soyad_listesi.append((ad, soyad)) +print(ad_soyad_listesi) + +#İsimleri alfabetik sıraya göre sıralayın ve sıralanmış listeyi ekrana yazdırın. +alfabetik_sira = sorted(ogrenciler.keys()) +print(alfabetik_sira) + +#GNO'su 70'in altında olan öğrencileri bir kümede (kümede) tutun. +ogrenciler = { + 'Ahmet YILMAZ': [85, 90, 78], + 'Mehmet DEMİR': [92, 88, 76], + 'Ayşe KAYA': [78, 89, 95], + 'Zeynep ÇELİK': [65, 70, 80], + 'Ali KARA': [50, 60, 55], + 'Fatma YILDIZ': [88, 85, 90], + 'Murat AYDIN': [72, 68, 74], + 'Elif AKSOY': [95, 90, 88], + 'Hakan ÖZTÜRK': [45, 50, 55], + 'Canan TAŞ': [80, 75, 82] +} + +ortalama = {} +for isim, notlar in ogrenciler.items(): + ort = sum(notlar)/len(notlar) + ortalama[isim] = round(ort, 2) + +alti_70 = set() +for isim, ort in ortalama.items(): + if ort < 70: + alti_70.add(isim) +print("70'in altındaki öğrenciler kümesi: ", alti_70)