tort201205idny.py
1    # 2. feladat
2    def lnko(x,y):
3        if x==y:
4            return x
5        if x<y:
6            return lnko(x,y-x)
7        if x>y:
8            return lnko(x-y,y)
9    # 5. feladat    
10   def lkkt(x, y):
11       return (x*y)//lnko(x,y)
12   
13   def egesz(x,y):
14       return x%y==0
15   
16   def egyszerusites(x,y):
17       s=str(x)+'/'+str(y)+' = '
18       if egesz(x,y):
19           s+=str(x//y)
20       else:
21           x1=x//lnko(x,y)
22           y1=y//lnko(x,y)
23           s+=str(x1)+'/'+str(y1)
24       return s
25   
26   def osszeg(f):      # a/b + c/d
27       bd=lkkt(b,d)
28       ac=a*(lkkt(b,d)//b)
29       ca=c*(lkkt(b,d)//d)
30       osszeg=ac+ca
31       if f:
32           print(f'{a}/{b} + {c}/{d} = {ac}/{bd} + {ca}/{bd} = {egyszerusites(osszeg,bd)}',file=fki)
33       else:
34           print(f'{a}/{b} + {c}/{d} = {ac}/{bd} + {ca}/{bd} = {egyszerusites(osszeg,bd)}\n')
35       
36   def szorzat(f):      # a/b * c/d
37       ac=a*c
38       bd=b*d
39       if f:
40           print(f'{a}/{b} * {c}/{d} = {egyszerusites(ac,bd)}',file=fki)
41       else:
42           print(f'{a}/{b} * {c}/{d} = {egyszerusites(ac,bd)}\n')
43   
44   print('1. feladat -----------------------------------------------')
45   a=int(input('Kérem a tört számlálóját: '))
46   b=int(input('Kérem a tört nevezőjét..: '))
47   if egesz(a,b):
48       print(f'Felírható egész számként: {a//b}')
49   else:
50       print('Nem egész.')
51   
52   print('\n3. feladat -----------------------------------------------')
53   print(egyszerusites(a,b))
54   
55   print('\n4. feladat -----------------------------------------------')
56   c=int(input('Kérem a másik tört számlálóját: '))
57   d=int(input('Kérem a másik tört nevezőjét..: '))
58   szorzat(False)
59   
60   print('\n6. feladat -----------------------------------------------')
61   osszeg(False)
62   
63   # 7. feladat ------------------------------------------------------
64   fbe=open('adat.txt','r')
65   fki=open('eredmeny.txt','w')
66   
67   for sor in fbe:
68       sor=sor.strip().split()
69       sor[:4]=map(int,sor[:4])
70       a=sor[0]
71       b=sor[1]
72       c=sor[2]
73       d=sor[3]
74       if sor[4]=='+':
75           osszeg(True)
76       else:
77           szorzat(True)
78   
79   fki.close()
80   fbe.close()
81   
82   
83   
84   
85   
86   
87   
88   
89   
90   
91   
92   
93