Toprak Analiz Raporu

# -*- coding: utf-8 -*-
"""
Created on Mon Feb 11 22:51:16 2019

@author: okmen
"""

"""
toprak örneği hesaplama programı

"""
#excel den değerleri çektim

global Dadi
global sayfaAdi




def anaMenu():
    
    global menusecim
    
    print("""
  ═════════════════════════════════════
  1- Önce Dosya Adı Giriniz
  2- Gübre Hesabı
  3- Hesapla Ve Kaydet
  4- Hesapla Ve Farklı Kaydet
  5- Hesapla Kaydet Ve göster
  6- Listeye Mail Yolla
  7- Çıkış
  ═════════════════════════════════════ """)   


def gubreEkimi():
    eksik1=30-Azot
    eksik2=10-AlınabilirFosfor
    Gazot= int(eksik1)-int(eksik2)
    
    x = eksik2*6.666
    y = Gazot*2.1739
    print ("gerekli 15-15",x)
    print ("gerekli üre ",y)


def DosyaAdiGir(Dadi):
    import openpyxl
    kitap = openpyxl.load_workbook(Dadi)
    sheet=kitap.active
    d1=sheet['B2']
    d2=sheet['B3']
    d3=sheet['B4']
    d4=sheet['B5']
    d5=sheet['B6']
    d6=sheet['B7']
    d7=sheet['B8']
    d8=sheet['B9']
    d9=sheet['B10']
    d10=sheet['B11']
    d11=sheet['B12']
    d12=sheet['B13']
    
    a1=sheet['A2']
    a2=sheet['A3']
    a3=sheet['A4']
    a4=sheet['A5']
    a5=sheet['A6']
    a6=sheet['A7']
    a7=sheet['A8']
    a8=sheet['A9']
    a9=sheet['A10']
    a10=sheet['A11']
    a11=sheet['A12']
    a12=sheet['A13']
    
    
    #gösterdim
    print(a1.value,':',d1.value)
    print(a2.value,':',d2.value)
    print(a3.value,':',d3.value)
    print(a4.value,':',d4.value)
    print(a5.value,':',d5.value)
    print(a6.value,':',d6.value)
    print(a7.value,':',d7.value)
    print(a8.value,':',d8.value)
    print(a9.value,':',d9.value)
    print(a10.value,':',d10.value)
    print(a11.value,':',d11.value)
    print(a12.value,':',d12.value)
    
    kitap.close()
    
    #değer atadım
    global Ph,Tuz,ToplamKirec,OrganikMadde,Azot,AlınabilirFosfor,AlınabilirPotasyum,Tekstur,YarayıslıBakır,YarayıslıCinko
    global YarayıslıDemir,YarayıslıMangan
    Ph =float(d1.value)
    Tuz= float(d2.value)
    ToplamKirec= float(d3.value)
    OrganikMadde= float(d4.value)
    Azot= float(d5.value)
    AlınabilirFosfor= float(d6.value)
    AlınabilirPotasyum= float(d7.value)
    Tekstur= float(d8.value)
    YarayıslıDemir= float(d9.value)
    YarayıslıBakır= float(d10.value)
    YarayıslıCinko= float(d11.value)
    YarayıslıMangan= float(d12.value)
    
    #global olusturalım




def HesaplaVeKaydet(Dadi):
    if Ph <= 3.5:
        PhDeger=("ultra asidik")
    elif 3.5 < Ph <= 4.4:
        PhDeger=("Son derece asidik")
    elif 4.5 < Ph <= 5.0:
        PhDeger=("çok güçlü asidik")
    elif 5.1 < Ph <= 5.5:
        PhDeger=("güçlü asidik")
    elif 5.6 < Ph <= 6.0:
        PhDeger=("orta derecede asidik")
    elif 6.1 < Ph <= 6.5:
        PhDeger=("hafif asidik")
    elif 6.6 < Ph <= 7.3:
        PhDeger=("doğal ")
    elif 7.4 < Ph <= 7.8:
        PhDeger=("Biraz alkalin")
    elif 7.9 < Ph <= 8.4:
        PhDeger=("orta derecede alkali")
    elif 8.5 < Ph <= 9.0:
        PhDeger=("güçlü alkali")
    elif 9.0 < Ph :
        PhDeger=("çok güçlü alkali")
    else:
        PhDeger=("Ölçülemedi")

    if 0 <= Tuz < 2:
        TuzDeger=("Düşük")
    elif 2 <= Tuz < 4:
        TuzDeger=("Orta")
    elif 4 <= Tuz < 8:
        TuzDeger=("Yüksek")
    elif 8 <= Tuz < 16:
        TuzDeger=("Aşırı")
    elif 16 <= Tuz :
        TuzDeger=("Çok aşırı")
    else:
        TuzDeger=("Ölcülemedi")
        
    #Kirec
    if 0<= ToplamKirec < 4:
        ToplamKirecDeger=("Az kireçli")
    elif 4 <= ToplamKirec < 8:
        ToplamKirecDeger=("Orta kireçli")
    elif 8 <= ToplamKirec < 15:
        ToplamKirecDeger=("Kireçli")
    elif 15 <= ToplamKirec < 30:
        ToplamKirecDeger=("Çok kireçli")
    elif 30 <= ToplamKirec < 55:
        ToplamKirecDeger=("Çok fazla kireçli")
    elif 55 <= ToplamKirec :
        ToplamKirecDeger=("Marn")
    else:
        ToplamKirecDeger=("Ölçülemedi")
    
    
    
    if 0 <= OrganikMadde < 2:
        OrganikMaddeDeger=("Fakir")
    elif 2 <= OrganikMadde < 5:
        OrganikMaddeDeger=("Az")
    elif 5 <= OrganikMadde < 10:
        OrganikMaddeDeger=("Yüksek")
    elif 10 <= OrganikMadde < 15:
        OrganikMaddeDeger=("Zengin")
    elif 15 <= OrganikMadde < 20:
        OrganikMaddeDeger=("Çok zengin")
    elif 20 <= OrganikMadde :
        OrganikMaddeDeger=("Organik toprak")
    else:
        OrganikMaddeDeger=("Ölcülemedi")
    
    
    
    if  Azot <= 0.05:
        AzotDeger=("Fakir")
    elif 0.05 <= Azot < 0.10:
        AzotDeger=("Orta")
    elif 0.10 <= Azot < 0.15:
        AzotDeger=("İyi")
    elif 0.15 <= Azot :
        AzotDeger=("Zengin")
    else:
        AzotDeger=("Ölcülemedi")
    
    if 0<= AlınabilirFosfor < 20:
        AlınabilirFosforDeger=("Fakir")
    elif 20 <= AlınabilirFosfor < 50:
        AlınabilirFosforDeger=("Orta")
    elif 50 <= AlınabilirFosfor :
        AlınabilirFosforDeger=("Zengin")
    else:
        AlınabilirFosforDeger=("Ölçülemedi")
        
    if 0<= AlınabilirPotasyum < 3:
        AlınabilirPotasyumDeger=("Fakir")
    elif 3 <= AlınabilirPotasyum < 6:
        AlınabilirPotasyumDeger=("Orta")
    elif 6 <= AlınabilirPotasyum :
        AlınabilirPotasyumDeger=("Zengin")
    else:
        AlınabilirPotasyumDeger=("Ölçülemedi")
    
    if  YarayıslıDemir <= 2.5:
        YarayıslıDemirDeger=("eksik")
    elif 2.5 <= YarayıslıDemir < 4.5:
        YarayıslıDemirDeger=("yeterli")
    elif 4.5 <= YarayıslıDemir < 9:
        YarayıslıDemirDeger=("Yüksek")
    elif 9 <= YarayıslıDemir < 13:
        YarayıslıDemirDeger=("Çok yüksek")
    elif 13 <= YarayıslıDemir :
        YarayıslıDemirDeger=("Aşırı")
    else:
        YarayıslıDemirDeger=("Ölcülemedi")
    
    eksik1=30-Azot
    eksik2=10-AlınabilirFosfor
    Gazot= int(eksik1)-int(eksik2)
    
    x = eksik2*6.666
    y = Gazot*2.1739
    print ("gerekli 15-15",x)
    print ("gerekli üre ",y)
    
    
    
    
    
    
    
    import openpyxl
    kitap = openpyxl.load_workbook(Dadi)
    sayfa = kitap.get_sheet_by_name(sayfaAdi)
    sayfa.cell(row=2,column=3,value=PhDeger)
    sayfa.cell(row=3,column=3,value=TuzDeger)
    sayfa.cell(row=4,column=3,value=ToplamKirecDeger)
    sayfa.cell(row=5,column=3,value=OrganikMaddeDeger)
    sayfa.cell(row=6,column=3,value=AzotDeger)
    sayfa.cell(row=7,column=3,value=AlınabilirFosforDeger)
    sayfa.cell(row=8,column=3,value=AlınabilirPotasyumDeger)
    sayfa.cell(row=10,column=3,value=YarayıslıDemirDeger)
    sayfa.cell(row=18,column=2,value=x)
    sayfa.cell(row=19,column=2,value=y)
    kitap.save(Dadi)
    kitap.close()


def HesaplaVeFarkliKaydet(Dadi):
    FdAdi= input("litfen kaydedilecek dosya adını giriniz: ")
    if Ph <= 3.5:
        PhDeger=("ultra asidik")
    elif 3.5 < Ph <= 4.4:
        PhDeger=("Son derece asidik")
    elif 4.5 < Ph <= 5.0:
        PhDeger=("çok güçlü asidik")
    elif 5.1 < Ph <= 5.5:
        PhDeger=("güçlü asidik")
    elif 5.6 < Ph <= 6.0:
        PhDeger=("orta derecede asidik")
    elif 6.1 < Ph <= 6.5:
        PhDeger=("hafif asidik")
    elif 6.6 < Ph <= 7.3:
        PhDeger=("doğal ")
    elif 7.4 < Ph <= 7.8:
        PhDeger=("Biraz alkalin")
    elif 7.9 < Ph <= 8.4:
        PhDeger=("orta derecede alkali")
    elif 8.5 < Ph <= 9.0:
        PhDeger=("güçlü alkali")
    elif 9.0 < Ph :
        PhDeger=("çok güçlü alkali")
    else:
        PhDeger=("Ölçülemedi")

    if 0 <= Tuz < 2:
        TuzDeger=("Düşük")
    elif 2 <= Tuz < 4:
        TuzDeger=("Orta")
    elif 4 <= Tuz < 8:
        TuzDeger=("Yüksek")
    elif 8 <= Tuz < 16:
        TuzDeger=("Aşırı")
    elif 16 <= Tuz :
        TuzDeger=("Çok aşırı")
    else:
        TuzDeger=("Ölcülemedi")
        
    #Kirec
    if 0<= ToplamKirec < 4:
        ToplamKirecDeger=("Az kireçli")
    elif 4 <= ToplamKirec < 8:
        ToplamKirecDeger=("Orta kireçli")
    elif 8 <= ToplamKirec < 15:
        ToplamKirecDeger=("Kireçli")
    elif 15 <= ToplamKirec < 30:
        ToplamKirecDeger=("Çok kireçli")
    elif 30 <= ToplamKirec < 55:
        ToplamKirecDeger=("Çok fazla kireçli")
    elif 55 <= ToplamKirec :
        ToplamKirecDeger=("Marn")
    else:
        ToplamKirecDeger=("Ölçülemedi")
    
    
    
    if 0 <= OrganikMadde < 2:
        OrganikMaddeDeger=("Fakir")
    elif 2 <= OrganikMadde < 5:
        OrganikMaddeDeger=("Az")
    elif 5 <= OrganikMadde < 10:
        OrganikMaddeDeger=("Yüksek")
    elif 10 <= OrganikMadde < 15:
        OrganikMaddeDeger=("Zengin")
    elif 15 <= OrganikMadde < 20:
        OrganikMaddeDeger=("Çok zengin")
    elif 20 <= OrganikMadde :
        OrganikMaddeDeger=("Organik toprak")
    else:
        OrganikMaddeDeger=("Ölcülemedi")
    
    
    
    if  Azot <= 0.05:
        AzotDeger=("Fakir")
    elif 0.05 <= Azot < 0.10:
        AzotDeger=("Orta")
    elif 0.10 <= Azot < 0.15:
        AzotDeger=("İyi")
    elif 0.15 <= Azot :
        AzotDeger=("Zengin")
    else:
        AzotDeger=("Ölcülemedi")
    
    if 0<= AlınabilirFosfor < 20:
        AlınabilirFosforDeger=("Fakir")
    elif 20 <= AlınabilirFosfor < 50:
        AlınabilirFosforDeger=("Orta")
    elif 50 <= AlınabilirFosfor :
        AlınabilirFosforDeger=("Zengin")
    else:
        AlınabilirFosforDeger=("Ölçülemedi")
        
    if 0<= AlınabilirPotasyum < 3:
        AlınabilirPotasyumDeger=("Fakir")
    elif 3 <= AlınabilirPotasyum < 6:
        AlınabilirPotasyumDeger=("Orta")
    elif 6 <= AlınabilirPotasyum :
        AlınabilirPotasyumDeger=("Zengin")
    else:
        AlınabilirPotasyumDeger=("Ölçülemedi")
    
    if  YarayıslıDemir <= 2.5:
        YarayıslıDemirDeger=("eksik")
    elif 2.5 <= YarayıslıDemir < 4.5:
        YarayıslıDemirDeger=("yeterli")
    elif 4.5 <= YarayıslıDemir < 9:
        YarayıslıDemirDeger=("Yüksek")
    elif 9 <= YarayıslıDemir < 13:
        YarayıslıDemirDeger=("Çok yüksek")
    elif 13 <= YarayıslıDemir :
        YarayıslıDemirDeger=("Aşırı")
    else:
        YarayıslıDemirDeger=("Ölcülemedi")
    
    
    
    
    
    
    
    
    
    import openpyxl
    kitap = openpyxl.load_workbook(Dadi)
    sayfa = kitap.get_sheet_by_name(dosyaAdi)
    sayfa.cell(row=2,column=3,value=PhDeger)
    sayfa.cell(row=3,column=3,value=TuzDeger)
    sayfa.cell(row=4,column=3,value=ToplamKirecDeger)
    sayfa.cell(row=5,column=3,value=OrganikMaddeDeger)
    sayfa.cell(row=6,column=3,value=AzotDeger)
    sayfa.cell(row=7,column=3,value=AlınabilirFosforDeger)
    sayfa.cell(row=8,column=3,value=AlınabilirPotasyumDeger)
    sayfa.cell(row=10,column=3,value=YarayıslıDemirDeger)
    kitap.save(FdAdi)
    kitap.close()

while True:
    anaMenu()
    secim= int(input("lütfen seçiminizi yapınız: "))
    if secim == 1:
        Dadi=input("lütfen excel dosyanızın adını uzantısız şekilde giriniz: ")
        sayfaAdi= input("lütfen excel sayfasının sayfa adını giriniz örenğin sheet,sayfa1 :")
        DosyaAdiGir(Dadi)
    elif secim == 2:
        gubreEkimi()
    elif secim == 3:
        HesaplaVeKaydet(Dadi)
    elif secim == 4:
        HesaplaVeFarkliKaydet(Dadi)
    elif secim == 5:
        pass
    elif secim == 7:
        print("çıkış yapılıyor")
        break
    else:
        print("bence seçimin yanlış birdaha dene...")

Bir yanıt yazın