Complex Number Class (Կոմպլեքս թվերի դաս)

Ձեզ հանձնարարված է ստեղծել ComplexNumber կլաս, որն ունի բարդ թվին բնորոշ վարքագիծ: Կոմպլեքս թիվն այն թիվն է, որը կարող է արտահայտվել a + bi ձևով (այստեղ a-ն և b-ն իրական թվեր են, իսկ i հավասարման լուծումն է)։ Քանի որ ոչ մի իրական թիվ չի բավարարում այս հավասարմանը, i-ն կոչվում է երևակայական թիվ ():
Ձեր ComplexNumber կլասը պետք է ունենա հետևյալ ատրիբուտները.
  • real - Կոմպլեքս թվի իրական մասը (a)
  • imaginary - Կոմպլեքս թվի երևակայական մասը (b)
Դուք պետք է գրեք հետևյալ կախարդական մեթոդները.
  • __add__ - Այս մեթոդը պետք է գումարի երկու բարդ թվեր և վերադարձնի նոր ComplexNumber օբյեկտ, որը ներկայացնում է -ի արդյունքը։
  • __sub__ - Այս մեթոդը մի բարդ թվից պետք է հանի մյուսը և վերադարձնի նոր ComplexNumber օբյեկտ, որը ներկայացնում է -ի արդյունքը։
  • __mul__ - Այս մեթոդը պետք է բազմապատկի երկու բարդ թվեր և վերադարձնի նոր ComplexNumber օբյեկտ, որը ներկայացնում է -ի արդյունքը։
  • __truediv__ - Այս մեթոդը պետք է բաժանի մեկ կոմպլեքս թիվը մյուսի վրա և վերադարձնի նոր ComplexNumber օբյեկտ, որը ներկայացնում է -ի արդյունքը։
Բացի թվային կախարդական մեթոդներից, դուք պետք է ունենաք նաև __str__ կախարդական մեթոդ, որը կոմպլեքս թիվը վերադարձնելու է որպես <real> + <imaginary> i։
Մուտք
Ելք
print(ComplexNumber(1, 1) + ComplexNumber(2, 2)); print(ComplexNumber(2, 3) - ComplexNumber(1, 1)); print(ComplexNumber(2, 3) * ComplexNumber(1, 1)); print(ComplexNumber(2, 2) / ComplexNumber(1, 1)); print(ComplexNumber(1, 1) - ComplexNumber(2, 3))
3 + 3 i 1 + 2 i -1 + 5 i 2.0 + 0.0 i -1 + -2 i
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue