|
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