Hoşgeldin Misafir

Yks Başarı Sıralamasına Göre Tercih Listesi Oluşturan Python Kodu

Mustafa73

20 Eyl 2023
423 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
# Örnek bölüm sıralamaları her puan türüne göre
bolumler = {
'Sayısal': {
'Mühendislik': 40000,
'Bilgisayar Bilimleri': 20000,
'Tıp': 5000,
'Matematik': 30000,
# Daha fazla sayısal bölüm ekleyebilirsiniz...
},
'Sözel': {
'Türkçe': 15000,
'Edebiyat': 50000,
'Gazetecilik': 28000,
'Radyo Televizyon': 35000,
# Daha fazla sözel bölüm ekleyebilirsiniz...
},
'Eşit Ağırlık': {
'İşletme': 60000,
' İç Mimarlık': 30000,
'Uluslararası İlişkiler': 25000,
'İktisat': 40000,
# Daha fazla eşit ağırlık bölüm ekleyebilirsiniz...
},
'Yabancı Dil': {
'İngiliz Dili ve Edebiyatı': 22000,
'Çeviribilim': 30000,
# Yabancı dil bölümlerini ekleyebilirsiniz...
},
'TYT': {
'Elektrik': 45000,
'Mekatronik': 25000,
# TYT bölümlerini ekleyebilirsiniz...
}
# Daha fazla puan türü ekleyebilirsiniz...
}
# Tercih listesi oluşturma fonksiyonu, puan türüne göre
def tercih_listesi_olustur(kisisel_siralama, puan_turu):
tercihler = []
# İlk 3 tercih için %10 daha iyi sıralama
for i in range(1, 4):
tercihler.append(kisisel_siralama - int(kisisel_siralama * 0.10))
# Diğer tercihler için sıralama hesaplamaları
for i in range(4, 11):
tercihler.append(kisisel_siralama + int(kisisel_siralama * 0.05 * (i - 3)))
# Tercih listesini bölüm sıralamalarıyla eşleştirme
eslesen_tercihler = {}
for tercih in tercihler:
for bolum, siralama in bolumler[puan_turu].items():
if siralama <= tercih:
eslesen_tercihler[bolum] = siralama
break
# Eğer hiçbir bölüm eşleşmediyse, en iyi sıralamalı bölümleri ekle
if not eslesen_tercihler:
for bolum, siralama in sorted(bolumler[puan_turu].items(), key=lambda item: item[1]):
eslesen_tercihler[bolum] = siralama
if len(eslesen_tercihler) == 6: # İlk 6 bölümü al
break
return eslesen_tercihler
# Kullanıcıdan sıralama ve puan türü bilgisi alma
kisisel_siralama = int(input('Lütfen YKS sıralamanızı giriniz: '))
puan_turu = input('Lütfen puan türünüzü giriniz (Sayısal, Sözel, Eşit Ağırlık, Yabancı Dil, TYT): ')
# Tercih listesini oluşturma ve yazdırma
tercih_listesi = tercih_listesi_olustur(kisisel_siralama, puan_turu)
print('Tercih edebileceğiniz bölümler ve sıralamaları:')
for bolum, siralama in tercih_listesi.items():

print(f'{bolum}: {siralama}')


Bu Python kodu, Yükseköğretim Kurumları Sınavı (YKS) sonuçlarına göre öğrencilerin tercih edebilecekleri bölümleri belirlemek için yazılmış bir scripttir. Kodun satır satır açıklaması:
1-14. Satırlar: bolumler adında bir sözlük (dictionary) tanımlanmış. Bu sözlük, farklı puan türlerine (Sayısal, Sözel, Eşit Ağırlık, Yabancı Dil, TYT) göre üniversite bölümlerinin sıralamalarını içeriyor. Her puan türü kendi içinde bir alt sözlük olarak bölümleri ve o bölümlerin sıralamalarını barındırıyor.
16-35. Satırlar: tercih_listesi_olustur adında bir fonksiyon tanımlanmış. Bu fonksiyon, kullanıcının kişisel sıralaması ve puan türüne göre bir tercih listesi oluşturuyor.
17. Satır: tercihler adında boş bir liste oluşturulmuş.
18-20. Satırlar: Bir for döngüsü ile ilk üç tercih için kullanıcının sıralamasından %10 daha iyi sıralamalar hesaplanıp tercihler listesine ekleniyor.
21-23. Satırlar: Dördüncü tercihten itibaren her tercih için kullanıcının sıralamasına, sıralamanın %5'i kadar ve tercih sırasının bir fazlası kadar artış eklenerek tercihler listesine ekleniyor.
25-31. Satırlar: Oluşturulan tercihler listesi, bolumler sözlüğündeki sıralamalarla karşılaştırılıyor ve kullanıcının sıralamasından düşük veya eşit olan ilk bölüm eslesen_tercihler sözlüğüne ekleniyor.
32-37. Satırlar: Eğer eslesen_tercihler sözlüğü boşsa, yani hiçbir bölüm kullanıcının sıralamasına uymuyorsa, en iyi sıralamalı altı bölüm eslesen_tercihler sözlüğüne ekleniyor.
39-40. Satırlar: Kullanıcıdan YKS sıralaması ve puan türü bilgisi isteniyor.
42-46. Satırlar: tercih_listesi_olustur fonksiyonu kullanılarak tercih listesi oluşturuluyor ve tercih_listesi değişkenine atanıyor. Sonra bu tercih listesi ekrana yazdırılıyor.
Bu script, öğrencilere sınav sonuçlarına göre hangi bölümleri tercih edebileceklerini göstermek için kullanılabilir. Kodun çalışması için kullanıcının sıralama ve puan türü bilgilerini girmesi gerekiyor.

Bölümleri yazmadım. Sadece örnek bölümler yazdım. Siz bölümleri ekleyebilirsiniz.