RationalNumber կլաս
Ձեր խնդիրն է Python-ում
RationalNumber
կլաս ստեղծել: Այս կլասը պետք է օգտագործվի ռացիոնալ թիվ ներկայացնելու համար, մի թիվ, որը կարող է արտահայտվել որպես երկու ամբողջ թվերի (համարիչ և հայտարար) քանորդ:RationalNumber
կլասը պետք է ունենա հետևյալ ատրիբուտները.- Կլասը պետք է ունենա երկու մասնավոր ամբողջ թիվ որպես ատրիբուտ՝ ռացիոնալ թվի համարիչը(
numerator
) և հայտարարը(denominator
):
- Կլասը պետք է ունենա կախարդական մեթոդները՝
__add__
,__sub__
,__mul__
և__truediv__
՝ համապատասխանաբար երկու ռացիոնալ թվեր գումարելու, հանելու, բազմապատկելու և բաժանելու համար:
- Գումարման, հանման, բազմապատկման և բաժանման գործողությունները պետք է կատարվեն ռացիոնալ թվերի համար մաթեմատիկորեն ճշգրիտ ձևով, որի արդյունքում կստացվի
RationalNumber
-ի ևս մեկ օբյեկտ:
- Կլասը պետք է ռացիոնալ թիվը հասցնի իր ամենապարզ ձևին՝ համարիչը և հայտարարը բաժանելով իրենց ամենամեծ ընդհանուր բաժանարարի (GCD) վրա։
- Կլասը պետք է ունենա
__str__
կախարդական մեթոդը, որը պետք է վերադարձնի<numerator> / <denominator>
տողը իր ամենապարզ ձևով:
Մուտք | Ելք |
print(RationalNumber(1, 2) + RationalNumber(1, 3)); print(RationalNumber(1, 2) - RationalNumber(1, 3)); print(RationalNumber(1, 2) * RationalNumber(1, 3)); print(RationalNumber(1, 2) / RationalNumber(1, 3)); | 5 / 6
1 / 6
1 / 6
3 / 2 |
Constraints
Time limit: 0.2 seconds
Memory limit: 512 MB
Output limit: 1 MB