godor=[]    #a forrásállomány adatainak tárolása egy listában - GLOBÁLIS adat

#----------------------------------------------------------------------------------------------
# 1. Olvassa be és tárolja el a melyseg.txt fájl tartalmát! Írja ki a képernyőre, hogy az 
#    adatforrás hány adatot tartalmaz!
#----------------------------------------------------------------------------------------------
def F1():

    fbe=open('melyseg.txt','r')

    for sor in fbe:
        godor.append(int(sor.strip()))

    print(godor)

    print('1. feladat') 
    print('A fájl adatainak száma: %d' %len(godor))

    fbe.close()

#----------------------------------------------------------------------------------------------
# 2. Olvasson be egy távolságértéket, majd írja a képernyőre, hogy milyen mélyen van a gödör 
#    alja azon a helyen! Ezt a távolságértéket használja majd a 6. feladat megoldása során is!
#----------------------------------------------------------------------------------------------
def F2():
    print('2. feladat')
    global tavolsag
    tavolsag=int(input('Adjon meg egy távolságértéket! '))

    print('Ezen a helyen a felszín %d méter mélyen van.' %godor[tavolsag-1])

#----------------------------------------------------------------------------------------------
# 3. Határozza meg, hogy a felszín hány százaléka maradt érintetlen és jelenítse meg 2 tizedes 
#    pontossággal!
#----------------------------------------------------------------------------------------------
def F3():
    print('3. feladat')

    #megszámlálás programozási tétel
    nulla_db=0
    for melyseg in godor:
        if melyseg==0:
            nulla_db+=1

    #Python lista műveletei: COUNT - adott értékű elem megszámlálása
    nulla_db=godor.count(0)
            
    print('Az érintetlen terület aránya %.2f%s.' %(nulla_db/len(godor)*100,'%'))

#----------------------------------------------------------------------------------------------
# 4. Írja ki a godrok.txt fájlba a gödrök leírását, azaz azokat a számsorokat, amelyek egy-egy 
#    gödör méterenkénti mélységét adják meg! Minden gödör leírása külön sorba kerüljön! Az 
#    állomány pontosan a gödrök számával egyező számú sort tartalmazzon!
#----------------------------------------------------------------------------------------------
def F4_5():
    fki=open('godrok.txt','w')

    godrok_szama=0
    enter=False
    for melyseg in godor:
        if melyseg>0:
            print(melyseg,end=' ',file=fki)
            enter=True      #ha gödörben vagyunk, akkor majd kell ENTER
        else:
            if enter==True:
                godrok_szama+=1
                print(file=fki)
            enter=False     #ha felszínen vagyunk (0 mélység): kapcsoljuk vissza HAMISra 
    fki.close()

#----------------------------------------------------------------------------------------------
# 5. Határozza meg a gödrök számát és írja a képernyőre!
#----------------------------------------------------------------------------------------------
    print('5. feladat')
    print('A gödrök száma: %d' %godrok_szama)

#----------------------------------------------------------------------------------------------
# 6. Ha a 2. feladatban beolvasott helyen nincs gödör, akkor „Az adott helyen nincs gödör.” 
#    üzenetet jelenítse meg, ha ott gödör található, akkor határozza meg, hogy
#
#       a) mi a gödör kezdő és végpontja! A meghatározott értékeket írja a képernyőre! 
#          (Ha nem tudja meghatározni, használja a további részfeladatoknál a 7 és 22 
#          értéket, mint a kezdő és a végpont helyét)
#----------------------------------------------------------------------------------------------
def F6a():
    print('6. feladat')
    global kezd,veg
    if godor[tavolsag-1]==0:
        print('Az adott helyen nincs gödör.')
    else:
        kezd=tavolsag-1
        while godor[kezd-1]!=0:
            kezd-=1
        
        veg=tavolsag
        while godor[veg]!=0:
            veg+=1
        veg-=1
    print('a)')
    print(f'A gödör kezdete: {kezd+1} méter, a gödör vége: {veg+1} méter. ')
#----------------------------------------------------------------------------------------------
# 6. Ha a 2. feladatban beolvasott helyen nincs gödör, akkor „Az adott helyen nincs gödör.” 
#    üzenetet jelenítse meg, ha ott gödör található, akkor határozza meg, hogy
#
#       b) a legmélyebb pontja felé mindkét irányból folyamatosan mélyül-e! Azaz a gödör 
#          az egyik szélétől monoton mélyül egy pontig, és onnantól monoton emelkedik a 
#          másik széléig. Az eredménytől függően írja ki a képernyőre a „Nem mélyül 
#          folyamatosan.” vagy a „Folyamatosan mélyül.” mondatot!
#----------------------------------------------------------------------------------------------
def F6b():
    print('b)')
    global max_melyseg
    max_melyseg_helye=0
    max_melyseg=0
    for i in range(kezd,veg+1):
        if godor[i]>max_melyseg:
            max_melyseg=godor[i]
            max_melyseg_helye=i

    le=True
    for i in range(kezd,max_melyseg_helye):
        if godor[i]>godor[i+1]:
            le=False
            break

    fel=True
    for i in range(max_melyseg_helye,veg):
        if godor[i]<godor[i+1]:
            fel=False
            break

    if le and fel:
        print('Folyamatosan mélyül.')
    else:
        print('Nem mélyül folyamatosan.')
    
#----------------------------------------------------------------------------------------------
# 6. Ha a 2. feladatban beolvasott helyen nincs gödör, akkor „Az adott helyen nincs gödör.” 
#    üzenetet jelenítse meg, ha ott gödör található, akkor határozza meg, hogy
#
#       c) mekkora a legnagyobb mélysége! A meghatározott értéket írja a képernyőre! 
#----------------------------------------------------------------------------------------------
def F6c():
    print('c)')
    print('A legnagyobb mélysége %d méter.' %max_melyseg)
#----------------------------------------------------------------------------------------------
# 6. Ha a 2. feladatban beolvasott helyen nincs gödör, akkor „Az adott helyen nincs gödör.” 
#    üzenetet jelenítse meg, ha ott gödör található, akkor határozza meg, hogy
#
#       d) mekkora a térfogata, ha szélessége minden helyen 10 méternyi! A meghatározott 
#          értéket írja a képernyőre! 
#----------------------------------------------------------------------------------------------
def F6d():
    print('d)')
    terfogat=0
    for i in range(kezd,veg+1):
        terfogat+=godor[i]*10

    print('A térfogata %d m^3.' %terfogat)
#----------------------------------------------------------------------------------------------
# 6. Ha a 2. feladatban beolvasott helyen nincs gödör, akkor „Az adott helyen nincs gödör.” 
#    üzenetet jelenítse meg, ha ott gödör található, akkor határozza meg, hogy
#
#       e) a félkész csatorna esőben jelentős mennyiségű vizet fogad be. Egy gödör annyi 
#          vizet képes befogadni anélkül, hogy egy nagyobb szélvihar hatására se öntsön 
#          ki, amennyi esetén a víz felszíne legalább 1 méter mélyen van a külső felszínhez 
#          képest. Írja a képernyőre ezt a vízmennyiséget! 
#----------------------------------------------------------------------------------------------
def F6e():
    print('e)')
    terfogat=0
    for i in range(kezd,veg+1):
        terfogat+=(godor[i]-1)*10

    print('A vízmennyiség %d m^3.' %terfogat)
#**********************************************************************************************
F1()
F2()
F3()
F4_5()
F6a()
F6b()
F6c()
F6d()
F6e()
















