"""
2012. május idegennyelvű: Törtek
@author Klemand66
"""

print("\n1. feladat\n")

sz=int(input("Kérem a tört számlálóját, egy pozitív, legfeljebb kétjegyű egész számot! "))
n=int(input("Kérem a tört nevezőjét, egy pozitív, legfeljebb kétjegyű egész számot! "))

m=sz%n
if m==0:
    print(f'A megadott tört egész szám: {sz}/{n} = {sz//n}')
else:
    print("Nem egész.")

        

print("\n2. feladat\n")

def lnko(a,b):
    if a==b:
        return a
    if a<b:
        return lnko(a,b-a)
    if a>b:
        return lnko(a-b,b)

print(f'Az lnko függvény:\n\n\
def lnko(a,b):\n\
    if a==b:\n\
        return a\n\
    if a<b:\n\
        return lnko(a,b-a)\n\
    if a>b:\n\
        return lnko(a-b,b)')



print("\n3. feladat\n")

def formazo(sz,n):
    if sz%n == 0:
        return f'{sz//n}'
    else:
        return f'{sz//lnko(sz,n)}/{n//lnko(sz,n)}'

print(f'{sz}/{n} = {formazo(sz,n)}')



print("\n4. feladat\n")

sz2=int(input("Kérem egy másik tört számlálóját, egy pozitív, legfeljebb kétjegyű egész számot! "))
n2=int(input("Kérem a másik tört nevezőjét, egy pozitív, legfeljebb kétjegyű egész számot! "))

print(f'{sz}/{n} * {sz2}/{n2} = {sz*sz2}/{n*n2} = {formazo(sz*sz2,n*n2)}')



print("\n5. feladat\n")

def lkkt(a,b):
    return a*b//lnko(a,b)

print(f'Az lkkt függvény:\n\n\
def lkkt(a,b):\n\
    return a*b//lnko(a,b)')



print("\n6. feladat\n")


print(f'{sz}/{n} + {sz2}/{n2} = \
{sz*lkkt(n,n2)//n}/{lkkt(n,n2)} + {sz2*lkkt(n,n2)//n2}/{lkkt(n,n2)} = \
{sz*lkkt(n,n2)//n + sz2*lkkt(n,n2)//n2}/{lkkt(n,n2)} = \
{formazo(sz*lkkt(n,n2)//n + sz2*lkkt(n,n2)//n2,lkkt(n,n2))}')



print("\n7. feladat\n")

betxt = open("adat.txt")
kitxt = open("eredmeny.txt","w")

for sor in betxt:
    darsor=sor.strip().split()
    sz,n,sz2,n2,muv=int(darsor[0]),int(darsor[1]),int(darsor[2]),int(darsor[3]),darsor[4]
   
    if muv=="*":
        kitxt.write(f'{sz}/{n} * {sz2}/{n2} = {sz*sz2}/{n*n2} = {formazo(sz*sz2,n*n2)}\n')
    else:
        kitxt.write(f'{sz}/{n} + {sz2}/{n2} = \
{sz*lkkt(n,n2)//n}/{lkkt(n,n2)} + {sz2*lkkt(n,n2)//n2}/{lkkt(n,n2)} = \
{sz*lkkt(n,n2)//n + sz2*lkkt(n,n2)//n2}/{lkkt(n,n2)} = \
{formazo(sz*lkkt(n,n2)//n + sz2*lkkt(n,n2)//n2,lkkt(n,n2))}\n')

betxt.close()
kitxt.close()
print("A beolvasás, feldolgozás, kiíratás és a szövegfájlok lezárása sikeresen befejeződött.")


input("\nA befejezéshez nyomd meg az ENTER billentyűt!")

