Կոտորակային դաս (Fraction class)
Դուք մշակում եք պարզ հաշվիչ և ձեր խնդիրն է Python-ում ստեղծել Fraction class, որը ներկայացնում է մաթեմատիկական կոտորակը:
Class-ը պետք է ունենա 5 կախարդական մեթոդ.
__add__- Այս մեթոդը պետք է որպես արգումենտ ընդունի մեկ այլ Fraction օբյեկտ և վերադարձնի նոր Fraction օբյեկտ, որը սկզբնական Fraction-ի և Fraction արգումենտի գումարն է:__sub__- Այս մեթոդը պետք է որպես արգումենտ ընդունի մեկ այլ Fraction օբյեկտ և վերադարձնի նոր Fraction օբյեկտ, որը ստանում ենք սկզբնական Fraction-ից հանելով Fraction արգումենտը:__mul__- Այս մեթոդը պետք է ընդունի մեկ այլ Fraction օբյեկտ որպես արգումենտ և վերադարձնի նոր Fraction օբյեկտ, որը սկզբնական Fraction-ի և Fraction արգումենտի արտադրյալի արդյունքն է:__truediv__- Այս մեթոդը պետք է ընդունի մեկ այլ Fraction օբյեկտ որպես արգումենտ և վերադարձնի նոր Fraction օբյեկտ, որը ստանում ենք սկզբնական Fraction-ը Fraction արգումենտի վրա բաժանելիս: Եթե Fraction արգումենտն ունի զրո համարիչ, այս մեթոդը պետք է raise անիZeroDivisionError:__str__- Այս մեթոդը պետք է վերադարձնի կոտորակը՝numerator / denominator(համարիչ / հայտարար) ձևաչափով: Մեթոդը պետք է վերադարձնի տողով գրված կոտորակը՝ իր հնարավոր ամենապարզ ձևով (օրինակ՝ «2 / 3»՝ «4 / 6»-ի փոխարեն): Կոտորակը պարզեցնելու համար համարիչը և հայտարարը բաժանեք դրանց ամենամեծ ընդհանուր բաժանարարի վրա (ԱԸԲ):
Fraction class-ը պետք է կարողանա սկզբնավորվել երկու պարամետրով՝ numerator (համարիչով) և denominator (հայտարարով): Երկու պարամետրերն էլ պետք է լինեն ամբողջ թվեր, իսկ հայտարարը (denominator) պետք է լինի 1 (եթե տրված չէ): Եթե հայտարարը 0 է, ծրագիրը պետք է __init__ մեթոդում raise անի ValueError:
Մուտք  | Ելք  | 
|---|---|
  | 5 / 6  | 
  | 1 / 6  | 
  | 1 / 6  | 
  | 3 / 2  | 
  | ZeroDivisionError: You can't divide by zero!  | 
  | ValueError: The denominator cannot be zero!  | 
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB