Python İle YGS Puan Hesaplama Yazılımı
-
Hocam eğer gerçekten sağlıklı bir hesaplama yapmak istiyorsan standart sapmaya ihtiyacın olacak bunuda halihazırda olan programlar bir önceki senelerin standart sapmalarını yada çeşitli kurumların deneme sınavlarının standart sapmalarını kullanıyorlar diye biliyorum yani sen gerçekten bu seneki puanını hesaplamak istersen bütün sınav sonuçlarına ihtiyacın olacak o yüzden şuan bu sene kaç puan alacağını hiç kimse bilmiyor yani diğer insanlar ne yaparsa ona göre senin puanında değişiyor.
Senin şu aşamada yapacağın en sağlıklı kesin sonuç veren tek şey NET hesaplaması olacaktır. Oda dünyanın en basit algoritması zaten (Doğrucevapsayısı) - (yanlışcevapsayısı / 4)
-
Altair bunu yazdı
Hocam eğer gerçekten sağlıklı bir hesaplama yapmak istiyorsan standart sapmaya ihtiyacın olacak bunuda halihazırda olan programlar bir önceki senelerin standart sapmalarını yada çeşitli kurumların deneme sınavlarının standart sapmalarını kullanıyorlar diye biliyorum yani sen gerçekten bu seneki puanını hesaplamak istersen bütün sınav sonuçlarına ihtiyacın olacak o yüzden şuan bu sene kaç puan alacağını hiç kimse bilmiyor yani diğer insanlar ne yaparsa ona göre senin puanında değişiyor.
Senin şu aşamada yapacağın en sağlıklı kesin sonuç veren tek şey NET hesaplaması olacaktır. Oda dünyanın en basit algoritması zaten (Doğrucevapsayısı) - (yanlışcevapsayısı / 4)
yorumunuz için teşekkürler hocam bizim amacımız %100 doğru sonucu veren bir yazılım değil sadece öğrendiklerimizi pekiştirmek istiyoruz ne olur 4 yanlışın 1 doğruyu götürdüğü ve her nete 2-3 puan veren bir basit program
-
RimPalace bunu yazdıLotus bunu yazdı
istediğiniz şey zaten temel programlama bilgisi, olayın pythonla falan alakası yok, temel matematiksel işlemler yani
Hocam 4 yanlışın 1 doğruyu götürmesini nasıl yapacağız ?
doğru götürme, yanlış sayısı, doğru sayısı, net
doğru götürme = yanlış sayısı % 4
net = doğru sayısı - doğru götürme
-
Eğer dil değiştirme şansın var ise ve ilk olarak bir dile başlıyorsan visual basic ile giriş yap. + olarak vb de bu olayı yapmak çok kolay.
-
ÖSYM nin klavuzlaruna bak orada genel katsayılar yazar. Ama standart sapmanın bir kuralı neyin yok.
Gerisi dört işlem. Arayüz istersen PyQt kullan. PyQt 'yi kullanmayı öğrenmek biraz zaman alır.
-
Ben standart sapmasız bu linkteki tabloyagöre bir program hazırladım.
Arayüz yok konsol üzerinden çalışıyor.Yanlış bir şey varsa üstadlar geribildirim yaparsa banada faydası olur.Arayüz yok bende yeni öğreniyorum.İlerleyen zamanda PyQT öğrenmeyi planlıyorum.
#!/usr/bin/env python3 #! -*- coding:utf-8 -*- turkced=input('Türkçe doğru sayısını giriniz')#Burada kullanıcıdan Türkçe doğru ve turkcey=input('Türkçe yanlış sayısını giriniz')#yanlış sayılarını isteyip netini hesap ediyoruz.Alttaki dört blok aynı işlem turkcedf=float(turkced) turkceyf=float(turkcey) turkcenet=turkcedf-(turkceyf/4) matematikd=input('Matematik doğru sayısını giriniz') matematiky=input('Matematik yanlış sayısını giriniz') matematikdf=float(matematikd) matematikyf=float(matematiky) matematiknet=matematikdf-(matematikyf/4) sosyald=input('Sosyal Bilgiler doğru sayısını giriniz') sosyaly=input('Sosyal Bilgiler yanlış sayısını giriniz') sosyaldf=float(sosyald) sosyalyf=float(sosyaly) sosyalnet=sosyaldf-(sosyalyf/4) fend=input('Türkçe doğru sayısını giriniz') feny=input('Türkçe doğru sayısını giriniz') fendf=float(fend) fenyf=float(feny) fennet=fendf-(fenyf/4) def ygs1(turkce,matematik,sosyal,fen): taban=100.160#ygs1 puan türünün nasıl hesaplanacağına dair fonksiyonu yazdık.Alttaki 5 blok aaynı mantık tpuan=(turkce*1.999) mpuan=(matematik*3.998) spuan=(sosyal*1.000) fpuan=(fen*2.999) toplamPuan=(taban+tpuan+mpuan+spuan+fpuan) print ('YGS-1 Puanınız =',toplamPuan,' dir') def ygs2(turkce,matematik,sosyal,fen): taban=100.160 tpuan=(turkce*1.999) mpuan=(matematik*2.999) spuan=(sosyal*1.000) fpuan=(fen*3.998) toplamPuan=(taban+tpuan+mpuan+spuan+fpuan) print ('YGS-2 Puanınız =',toplamPuan,' dir') def ygs3(turkce,matematik,sosyal,fen): taban=100.160 tpuan=(turkce*3.998) mpuan=(matematik*1.999) spuan=(sosyal*2.999) fpuan=(fen*1.000) toplamPuan=(taban+tpuan+mpuan+spuan+fpuan) print ('YGS-3 Puanınız =',toplamPuan,' dir') def ygs4(turkce,matematik,sosyal,fen): taban=100.160 tpuan=(turkce*2.999) mpuan=(matematik*1.999) spuan=(sosyal*3.998) fpuan=(fen*1.000) toplamPuan=(taban+tpuan+mpuan+spuan+fpuan) print ('YGS-4 Puanınız =',toplamPuan,' dir') def ygs5(turkce,matematik,sosyal,fen): taban=100.120 tpuan=(turkce*3.699) mpuan=(matematik*3.299) spuan=(sosyal*1.999) fpuan=(fen*1.000) toplamPuan=(taban+tpuan+mpuan+spuan+fpuan) print ('YGS-5 Puanınız =',toplamPuan,' dir') def ygs6(turkce,matematik,sosyal,fen): taban=100.120 tpuan=(turkce*3.299) mpuan=(matematik*3.699) spuan=(sosyal*1.000) fpuan=(fen*1.999) toplamPuan=(taban+tpuan+mpuan+spuan+fpuan) print ('YGS-6 Puanınız =',toplamPuan,' dir') ygs1(turkcenet,matematiknet,sosyalnet,fennet)#netlerinmizi fonksiyonlarımıza gönderdik. ygs2(turkcenet,matematiknet,sosyalnet,fennet) ygs3(turkcenet,matematiknet,sosyalnet,fennet) ygs4(turkcenet,matematiknet,sosyalnet,fennet) ygs5(turkcenet,matematiknet,sosyalnet,fennet) ygs6(turkcenet,matematiknet,sosyalnet,fennet) -
@kilit11 hocam sabit değişkenleri neden global bir şekilde yazmadınız ? Kod fazlalığından kurtulmuş olursunuz ?
Ayrıca inputu tek değişkene ver değişkenden sonra gelen veriyi def'lere gönder ve onları değişkende tut daha iyi olur.
Ayrıca : def'lerin sonuna print değil return yap ve kod bloğunun en sonunda print("Matematik net'iniz : {} Türkçe Netiniz : {} vıdı vıdı {} vıdı vıdı {}").format(mat,turkce,sosyal,cografya)
şeklinde yaparsan yine satır sayısı baya bi azalır
0x656e tarafından 06/Mar/16 15:23 tarihinde düzenlenmiştir -
http://hastebin.com/viwewoteje.coffee
Hocalarım şu tarz çok amatör birşey yaptım.Yorumlarınızı alayım.İf konusundaki hatamı fark ettim :)
-
WhatIsMyName bunu yazdı
http://hastebin.com/viwewoteje.coffee
Hocalarım şu tarz çok amatör birşey yaptım.Yorumlarınızı alayım.İf konusundaki hatamı fark ettim :)
Oraya yazıyla üç yazdım ne olucak ? Neden sadece if ? elif de kullanabilrsin şimdilik gördüklerim bunlar amma uzun yazmışsın bu arada #-*-coding:utf-8 -*- şklinde olucak
-
0x656e bunu yazdıWhatIsMyName bunu yazdı
http://hastebin.com/viwewoteje.coffee
Hocalarım şu tarz çok amatör birşey yaptım.Yorumlarınızı alayım.İf konusundaki hatamı fark ettim :)
Oraya yazıyla üç yazdım ne olucak ? Neden sadece if ? elif de kullanabilrsin şimdilik gördüklerim bunlar amma uzun yazmışsın bu arada #-*-coding:utf-8 -*- şklinde olucak
https://www.python.org/dev/peps/pep-0263/

@WhatIsMyName üstteki nesne, by, date değişkenleri olmamış onun yerine aşağıdaki header tanımlamalarını kullanabilirsin.
kod olarak iyileştirilebilir. def ile fonksiyon tanımlamaya çalışabilirsin. Global değişkenlere göz atarsın.
Ardından class yapısına geçersin. Class'da ilerledikten sonra GUI'lere geçebilirsin. Hemen tkinter vs. atlamaya çalışma. :)
