Hoşgeldin, Ziyaretçi:

l Üye Ol

Facebook ile Giriş
Tarih: 15-09-2019, Saat: 17:59
  • http://qpython.club'e Hoşgeldiniz!
  • Forum Kurallarını okumayı unutmayınız.
  • İyi Forumlar...
  • Python Kodları
  • qpython.club Adresimiz Aktiftir...

Turbobit Çeviri [BETA]        PuhuTV indirme        YouTube Direkt Link            Facebook Grubu

USD: ---      EUR: ---      BTC: ---

Python Kodları > Programlama Dilleri > Python > Harf Notuyla Genel Ortalama Hesaplama >

 Yorum: 4    Görüntülenme: 539
Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
 Harf Notuyla Genel Ortalama Hesaplama
18-06-2019, Saat: 21:37,
Çevrimdışı
Üst Üye
new üye
Üyelik Tarihi: 10-03-2016
Mesajlar : 134
Konular:
Rep Puanı: 0
#1
Harf Notuyla Genel Ortalama Hesaplama

Merhaba arkadaşlar harf notunuzu girerek genel ortalamanızı hesaplayabileceğiniz kod yazmıştım.Sonra nasıl geliştirebilirim ve işlevsel kullanabilirim diye düşünüp bir kaç özellik ekleyerek sizle paylaşıyorum.Çok bilgi sahibi değilim python ve kodlama hakkında o yüzden eleştirilerinizi bol bol bekliyorum(şu kısmı daha kısa yoldan şöyle yapabilirsin vs. ya da böyle bir özellikle daha güzel olur gibi).
iki dosyamız var genelorthesap.py ve notlarım.py ikisini de aynı klasörde tutun
notlarım.py içinde sadece iki tane değişken bulunuyor kayıtlı puanınızı ve kredinizi tutuyor burada.
genelorthesap.py dosyasını çalıştırıyorsunuz ve kodumda 4  seçenek var:
  • 1'i seçerek kayıtlı notlarınızla beraber yeni not girerek ortalama hesaplıyorsunuz
  • 2'i seçerek not kaydediyorsunuz ve mevcut notlarınız kayıtlı tutarak bir daha hesap yaparken kolaylık sağlıyor.
  • 3'ü seçerek tüm kayıtlı notlardan bağımsız keyfinize göre ortalama hesaplayabilirsiniz
  • 4'ü seçerek kaydettiğiniz notlarınızla mevcut genel ortalamanızı görüntülüyebiliyorsunuz.

genelorthesap.py kodlarım
PHP Kod:
# -*- coding: utf-8 -*-
"""
Created on Sun Jun 16 13:00:12 2019

@author: pc
"""
import sys,os
yer 
str(os.path.dirname(os.path.abspath(sys.argv[0])))+os.sep
import notlarım 
as f
topnote
=0
topkredi
=0
d
=open(yer+"notlarım.py","a+")
a=0
print("\n","Kayıtlı Notlarınla Ortalama Hesaplamak için 1 yaz","\n",
 
     "Not Kaydetmek için 2 yaz","\n",
 
     "Kayıtlılardan Bağımsız Ortalama Hesaplamak için 3 yaz","\n",
 
     "Kayıtlı Genel Ortalamanı Görüntülemek için 4 yaz")
kayıt=int((input("Seçimini Yaz ")))
if 
kayıt ==1:
 
   sec=int(input("Kaç Ders Gireceksiniz? "))
 
   while a<sec:
 
       kredi=int(input("Ders Kredisi "))
 
       note=str(input("Harf Notu "))
 
       note=note.upper()
 
       a=a+1
        if note
== "AA":
 
           note=float(4.00)
 
       elif note== "BA":
 
           note=float(3.50)
 
       elif note== "BB":
 
           note=float(3.00)
 
       elif note== "CB":
 
           note=float(2.50)
 
       elif note== "CC":
 
           note=float(2.00)
 
       elif note== "DC":
 
           note=float(1.50)
 
       elif note== "DD":
 
           note=float(1.00)
 
       elif note== "FD":
 
           note=float(0.50)
 
       elif note== "FF":
 
           note=float(0.00)
 
       topnote=kredi*note+topnote
        topkredi
=topkredi+kredi
    print
("Kayıtlı Notlarla Beraber Genel Ortalamanız ",(f.topnotes+topnote)/(f.topkredis+topkredi))
 
   d.close()
elif kayıt ==2:
 
   sec=int(input("Kaç Ders Kaydedeceksin? "))
 
   while a<sec:
 
       kredi=int(input("Ders Kredisi "))
 
       note=str(input("Harf Notu "))
 
       note=note.upper()
 
       a=a+1
        if note
== "AA":
 
           note=float(4.00)
 
       elif note== "BA":
 
           note=float(3.50)
 
       elif note== "BB":
 
           note=float(3.00)
 
       elif note== "CB":
 
           note=float(2.50)
 
       elif note== "CC":
 
           note=float(2.00)
 
       elif note== "DC":
 
           note=float(1.50)
 
       elif note== "DD":
 
           note=float(1.00)
 
       elif note== "FD":
 
           note=float(0.50)
 
       elif note== "FF":
 
           note=float(0.00)
 
       topnote=kredi*note+topnote
        topkredi
=topkredi+kredi
    f
.topnotes=f.topnotes+topnote
    f
.topkredis=f.topkredis+topkredi
    d
.close()
 
   d=open(yer+"notlarım.py","w")
 
   d.write("topnotes=")
 
   d.write(str(f.topnotes))
 
   d.write("\n")
 
   d.write("topkredis=")
 
   d.write(str(f.topkredis))
 
   d.close()
 
   print("*****KAYDEDİLDİ*****")
elif kayıt ==3:
 
   sec=int(input("Kaç Ders Gireceksiniz? "))
 
   while a<sec:
 
       kredi=int(input("Ders Kredisi "))
 
       note=str(input("Harf Notu "))
 
       note=note.upper()
 
       a=a+1
        if note
== "AA":
 
           note=float(4.00)
 
       elif note== "BA":
 
           note=float(3.50)
 
       elif note== "BB":
 
           note=float(3.00)
 
       elif note== "CB":
 
           note=float(2.50)
 
       elif note== "CC":
 
           note=float(2.00)
 
       elif note== "DC":
 
           note=float(1.50)
 
       elif note== "DD":
 
           note=float(1.00)
 
       elif note== "FD":
 
           note=float(0.50)
 
       elif note== "FF":
 
           note=float(0.00)
 
       topnote=kredi*note+topnote
        topkredi
=topkredi+kredi
    print
("Hesaplanılan Genel Ortalamanız ",topnote/topkredi)
elif kayıt ==4:
 
   print("Kayıtlı Genel Ortalamanız",f.topnotes/f.topkredis)
 
    

notlarım.py
PHP Kod:
topnotes=0
topkredis
=


Ek Dosyalar
.py   genelorthesap.py (Dosya Boyutu: 3.41 KB / İndirme Sayısı: 1)
.py   notlarım.py (Dosya Boyutu: 23 Bayt / İndirme Sayısı: 1)
18-06-2019, Saat: 21:37
Cevapla
18-06-2019, Saat: 23:02,
Admin
Admin Grubu
Üyelik Tarihi: 02-02-2016
Mesajlar : 6,374
Konular:
Rep Puanı: 125
#2
Cvp: Harf Notuyla Genel Ortalama Hesaplama

Öncelikle python üzerine kendi kendine bir şeyler yaptığın ve be bu dili öğrenmeye çalıştığın için seni tebrik ederim Smile

Şimdi python'da yeni olduğun için mutlaka eskliklerin var, o yüzden kodlarında da bir çok tavsiye verilmesi gereken yerler mevcut Smile

Ufak ayrıntıları illaki kendin de tamamlarsın kaynaklardan öğrenerek, veya vakti zamanı geldiğinde sorarak. Ama ben daha çok kodun verimli kullanılması konusunda bir tavsiye vermek istiyorum. Seçeneklerin çoğunda puan sistemine göre birden çok koşul koymuşsun ve bunlar baya bir yer kaplıyor. Daha pratik olmak adına ve ek bilgi vermek adına sözlük yapısını kullanmanı öneririm. Çünkü "Harf Notu" ve puanlamaları hep aynı sanırım.

örnek:

note = input("Harf Notu")
note=note.upper()

harf_notları = {"AA": 4.00, "BA": 3.50} #2 tane yazdım sen çoğaltırsın
note = harf_notları[note]

bu kadar Smile

bu işlemden sonra 9 tane koşul belirtmektense kodun en başına "harf_notları" diye sözlükten oluşan değişken tanımla ve bunu her döngüde sadece
note = harf_notları[note]
şeklinde çağır.

Bir de notlarım.py içerisinde bir kod betiği yok, o yüzden import etmektense içindekileri farklı bir global değişken olarak kod içinde belirmen daha uygun olur diye düşünüyorum.

Not: ufak ayrıntılara değinmek istemedim ama yine de demeden geçemeyeceğim, input py3'te zaten string'dir, tekrar str() fonksiyonunu kullanmaya gerek yok, integer için int() kullanılabilir tabiki. Bir de 4.00 zaten float'tır ama 4 integer'dır v.b. Smile
18-06-2019, Saat: 23:02
Cevapla
19-06-2019, Saat: 00:35,
Çevrimdışı
Üst Üye
new üye
Üyelik Tarihi: 10-03-2016
Mesajlar : 134
Konular:
Rep Puanı: 0
#3
Cvp: Harf Notuyla Genel Ortalama Hesaplama

(18-06-2019, Saat: 23:02)gecemor Nickli Kullanıcıdan Alıntı: Öncelikle python üzerine kendi kendine bir şeyler yaptığın ve be bu dili öğrenmeye çalıştığın için seni tebrik ederim Smile

Şimdi python'da yeni olduğun için mutlaka eskliklerin var, o yüzden kodlarında da bir çok tavsiye verilmesi gereken yerler mevcut Smile

Ufak ayrıntıları illaki kendin de tamamlarsın kaynaklardan öğrenerek, veya vakti zamanı geldiğinde sorarak. Ama ben daha çok kodun verimli kullanılması konusunda bir tavsiye vermek istiyorum. Seçeneklerin çoğunda puan sistemine göre birden çok koşul koymuşsun ve bunlar baya bir yer kaplıyor. Daha pratik olmak adına ve ek bilgi vermek adına sözlük yapısını kullanmanı öneririm. Çünkü "Harf Notu" ve puanlamaları hep aynı sanırım.

örnek:

note = input("Harf Notu")
note=note.upper()

harf_notları = {"AA": 4.00, "BA": 3.50} #2 tane yazdım sen çoğaltırsın
note = harf_notları[note]

bu kadar Smile

bu işlemden sonra 9 tane koşul belirtmektense kodun en başına "harf_notları" diye sözlükten oluşan değişken tanımla ve bunu her döngüde sadece
note = harf_notları[note]
şeklinde çağır.

Bir de notlarım.py içerisinde bir kod betiği yok, o yüzden import etmektense içindekileri farklı bir global değişken olarak kod içinde belirmen daha uygun olur diye düşünüyorum.

Not: ufak ayrıntılara değinmek istemedim ama yine de demeden geçemeyeceğim, input py3'te zaten string'dir, tekrar str() fonksiyonunu kullanmaya gerek yok, integer için int() kullanılabilir tabiki. Bir de 4.00 zaten float'tır ama 4 integer'dır v.b. Smile
Sozluk kullanmak hic aklima gelmedi hocam teşekkür ederim.diger py dosyasına yazdigim degiskenleri ayni dosya icine koymayi dusundum ama ayni dosya icindeyken program kapandiktan sonra tekrar sifirlanir diye tahmin ettim yani son aldigi deger kalici olarak kalmaz diye biliyodum ama boyle soylediginize gore buyuk ihtimal bi yolu var.
integer float olarak belirtmekte bazen takinti oluyo ya hata almiyim aman garanti olsun diye ne varsa koyuyorum Big Grin tekrardan teşekkür ederim
19-06-2019, Saat: 00:35
Cevapla
19-06-2019, Saat: 01:24,
Admin
Admin Grubu
Üyelik Tarihi: 02-02-2016
Mesajlar : 6,374
Konular:
Rep Puanı: 125
#4
Cvp: Harf Notuyla Genel Ortalama Hesaplama

Ha sen son değişen bilgileri yedekliyosun notlarım.py içerisine, dikkatimdem kaçmış. Genelde veri yedeklemek için veritabanı kullanılır; yapılandırma ve ayar dosyaları için ini, conf, json; çıktı için de log veya txt.

veritabanı için bilgiler yeteri kadar büyük veya fazla olmadığından uygun değil şimdilik, bunun için yapılandırma dosyalama kullanabilirsin. Madem sözlük falan dedik, o zaman json kaydı yapabilirsin. Zaten ileride json veri işlemeyi de öğrenmen gerekeceği için şimdiden öğrenmekte fayda var.

notlarım = {"topnotes":0, "topkredis":0}
dedikten sonra sözlükleri işlemesini az çok biliyosundur,

içeriğe ulaşmak için
topkredis = notlarım["topkredis"]

değişiklik yapmak için
notlarım["topkredis"] = 12

bu sözlüğü, bir diğer deyişle Json verisini dosyalamak için

import json

dosya = open("notlarım.json","w")
json.dump(notlarım, dosya)
dosya.close()

çağırırken de

dosya = open("notlarım.json").read()
notlarım = json.loads(dosya)

Eğer kafa karıştırıcı geldiyse şimdilik kendi bildiğin yöntemleri kullanabilirsin ama bunları da aklında bulundurmanda fayda var.
19-06-2019, Saat: 01:24
Cevapla
19-06-2019, Saat: 18:11,
Çevrimdışı
Üst Üye
new üye
Üyelik Tarihi: 10-03-2016
Mesajlar : 134
Konular:
Rep Puanı: 0
#5
Cvp: Harf Notuyla Genel Ortalama Hesaplama

teşekkür ederim json'u araştıracağım
19-06-2019, Saat: 18:11
Cevapla
« Önceki Konu | Sonraki Konu »
Konuyu Okuyanlar: 1 Ziyaretçi



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  GÜNCEL Ortalama Hesaplama Umutrc 17 8,124 17-06-2019, Saat: 12:24
Son Yorum: lydia
  GÜNCEL Vize puanına göre Final puanı Hesaplama *Üniversite Umutrc 10 7,526 12-04-2017, Saat: 12:55
Son Yorum: Umutrc
  GÜNCEL Günluk Internet Kullanım Kotası Hesaplama burak160731 36 24,753 01-12-2016, Saat: 16:01
Son Yorum: hkrgln

Hızlı Menü:

Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB
© 2002-2019 MyBB Group.
ImAdige theme by IMADIGE © 2015.