ដោយប្រើម៉ូឌុលប្រភាគនៃបណ្ណាល័យ Python ស្តង់ដារ អ្នកអាចធ្វើការគណនាដោយប្រើប្រភាគ (លេខសនិទានភាព)។
ខាងក្រោមនេះត្រូវបានពន្យល់នៅទីនេះ។
- អ្នកបង្កើតប្រភាគ
- ទទួលបានលេខភាគ និងតម្លៃភាគបែងជាចំនួនគត់
- ការគណនា និងប្រៀបធៀបប្រភាគ (លេខសនិទានភាព)
- បំប្លែងប្រភាគទៅជាទសភាគ (អណ្តែត)
- ការបំប្លែងប្រភាគទៅជាខ្សែអក្សរ (str)
- ទទួលបានចំនួនប្រហាក់ប្រហែល
អ្នកបង្កើតប្រភាគ
មានវិធីជាច្រើនដើម្បីបង្កើត Fraction instance ។ ក្នុងគ្រប់ករណីទាំងអស់ ប្រភាគត្រូវបានបែងចែកដោយស្វ័យប្រវត្តិទៅជាប្រភាគ។
បញ្ជាក់លេខភាគ និងភាគបែងជាចំនួនគត់
បញ្ជាក់ភាគយក និងភាគបែងជាចំនួនគត់រៀងគ្នា។ ប្រសិនបើភាគបែងត្រូវបានលុបចោល វាត្រូវបានសន្មត់ថាជា 1 ។
from fractions import Fraction print(Fraction(1, 3)) # 1/3 print(Fraction(2, 6)) # 1/3 print(Fraction(3)) # 3
ប្រភាគទសភាគ(float)
ប្រសិនបើតម្លៃប្រភាគត្រូវបានហុច វាត្រូវបានបំប្លែងទៅជាប្រភាគ។
print(Fraction(0.25)) # 1/4 print(Fraction(0.33)) # 5944751508129055/18014398509481984
ប្រសិនបើអ្នកចង់ប៉ាន់ស្មានដោយបញ្ជាក់ភាគបែងអតិបរមា សូមប្រើវិធី limit_denominator() ដែលបានពិពណ៌នាខាងក្រោម។
ខ្សែអក្សរ(str)
ប្រសិនបើតម្លៃខ្សែអក្សរត្រូវបានឆ្លងកាត់ វាត្រូវបានបំប្លែងទៅជាប្រភាគ។
print(Fraction('2/5')) # 2/5 print(Fraction('16/48')) # 1/3
ទទួលបានលេខភាគ និងតម្លៃភាគបែងជាចំនួនគត់
គុណលក្ខណៈនៃប្រភេទប្រភាគអនុញ្ញាតឱ្យអ្នកទទួលបានតម្លៃចំនួនគត់សម្រាប់ភាគបែង និងភាគបែងរៀងៗខ្លួន។ ពួកគេមិនអាចផ្លាស់ប្តូរបានទេ។
numerator
denominator
a = Fraction(1, 3) print(a) # 1/3 print(a.numerator) print(type(a.numerator)) # 1 # <class 'int'> print(a.denominator) print(type(a.denominator)) # 3 # <class 'int'> # a.numerator = 7 # AttributeError: can't set attribute
ការគណនា និងប្រៀបធៀបប្រភាគ (លេខសនិទានភាព)
លេខប្រមាណវិធីនព្វន្ធអាចត្រូវបានប្រើដើម្បីគណនាបូក ដក ។ល។
result = Fraction(1, 6) ** 2 + Fraction(1, 3) / Fraction(1, 2) print(result) print(type(result)) # 25/36 # <class 'fractions.Fraction'>
ប្រតិបត្តិករប្រៀបធៀបក៏អាចត្រូវបានប្រើផងដែរ។
print(Fraction(7, 13) > Fraction(8, 15)) # True
បំប្លែងប្រភាគទៅជាទសភាគ (អណ្តែត)
អាចបំប្លែងពីប្រភាគទៅជាទសភាគដោយប្រើ float()។
a_f = float(a) print(a_f) print(type(a_f)) # 0.3333333333333333 # <class 'float'>
នៅពេលគណនាដោយលេខទសភាគ វាត្រូវបានបំប្លែងដោយស្វ័យប្រវត្តិទៅជាប្រភេទអណ្តែត។
b = a + 0.1 print(b) print(type(b)) # 0.43333333333333335 # <class 'float'>
ការបំប្លែងប្រភាគទៅជាខ្សែអក្សរ (str)
ដើម្បីបំប្លែងទៅជាខ្សែអក្សរ សូមប្រើ str()។
a_s = str(a) print(a_s) print(type(a_s)) # 1/3 # <class 'str'>
ទទួលបានចំនួនប្រហាក់ប្រហែល
ការប៉ាន់ស្មានចំនួនសនិទានភាពអាចទទួលបានជាមួយនឹងវិធីសាស្ត្រ limit_denominator() នៃប្រភេទប្រភាគ។
ត្រឡប់ចំនួនសនិទានភាព (ប្រភាគ) ដែលភាគបែងមានចំនួនតិចជាង ឬស្មើនឹងអាគុយម៉ង់ max_denominator ។ ប្រសិនបើលុបចោល max_denominator=1000000។
លេខមិនសមហេតុផលប្រហាក់ប្រហែលដូចជា pi និង Napier លេខ e
pi = Fraction(3.14159265359) print(pi) # 3537118876014453/1125899906842624 print(pi.limit_denominator(10)) print(pi.limit_denominator(100)) print(pi.limit_denominator(1000)) # 22/7 # 311/99 # 355/113 e = Fraction(2.71828182846) print(e) # 6121026514870223/2251799813685248 print(e.limit_denominator(10)) print(e.limit_denominator(100)) print(e.limit_denominator(1000)) # 19/7 # 193/71 # 1457/536
បំប្លែងទសភាគរាងជារង្វង់ទៅជាប្រភាគ
a = Fraction(0.565656565656) print(a) # 636872674577009/1125899906842624 print(a.limit_denominator()) # 56/99 a = Fraction(0.3333) print(a) # 6004199023210345/18014398509481984 print(a.limit_denominator()) print(a.limit_denominator(100)) # 3333/10000 # 1/3