Chương trình Python để cộng hai số phức bằng cách sử dụng lớp

Số phức là tổ hợp của số thực và số ảo thường được viết dưới dạng a+bi, trong đó a và b lần lượt là số thực và số ảo. Trong mô-đun này, một sự hiểu biết rõ ràng về việc thêm hai số như vậy trong python được cung cấp

Trước khi bắt tay vào mã thực tế, trước tiên chúng ta hãy tìm hiểu về phương thức phức tạp () trong python. Đây là một hàm tích hợp, lấy hai tham số làm đầu vào và chuyển đổi nó thành một số phức; . Hơn nữa, giá trị mặc định của cả hai, thực và ảo, là 0 khi bỏ qua. Cú pháp của phức() là

complex([real[,imag]])

Với suy nghĩ này, chúng ta hãy bắt đầu với chủ đề của mình

Phép cộng hai số phức trong Python

Báo cáo vấn đề. Viết chương trình python để cộng hai số phức

Hợp lý

Giả sử, chúng ta có hai số phức a1+b1j và a2+b2j. Tổng của hai số này sẽ là

Sum=(a1+a2)+(b1+b2)j

Bây giờ, chúng ta hãy lấy một ví dụ về hai số, 2+3j & 4+6j. Giải quyết chúng, chúng tôi nhận được,

Tổng=(2+4)+(3+6)j
Tổng=(6+9j)

Các bước/Thuật toán

  1. Chấp nhận đầu vào của hai số phức từ người dùng bằng phương thức phức tạp ()
  2. Cộng hai số

Chương trình/Mã Python

print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)

Ở đây, đầu tiên, một câu lệnh in được hiển thị với định dạng mà người dùng sẽ cung cấp đầu vào. Tiếp theo, đầu vào được người dùng lấy là n1 và n2. Cuối cùng, tổng của hai số được in ra

đầu ra

Enter two complex numbers in the form a+bj:
2+3j
4+6j
sum = (6+9j)

Như vậy là ta đã cộng thành công 2 số phức do người dùng cung cấp bằng thủ thuật đơn giản nhất

Số phức là số được biểu diễn dưới dạng a+bj trong đó a và b là các số thực. Ví dụ: 3+4j, 5-4j, 2. 1+4j, v.v.

Chúng tôi đã giới thiệu cách cộng hai số thực trong python

Bây giờ chúng ta sẽ tìm hiểu về cách cộng hai số phức trong python. Ví dụ,

Nếu a = 3+4j và b = 5+2j thì a + b = 8+6j

Chúng ta phải thực hiện phép cộng các số phức ở trên bằng lập trình python

Chúng ta có thể đạt được nhiệm vụ trên theo nhiều cách -

Cách tiếp cận đơn giản

Chúng tôi sử dụng toán tử bổ sung (i. e. + toán tử) để cộng hai số phức. Ví dụ,

 
a = 4+2j
b = 6+3j
sum = a + b
print("Sum =", sum)

đầu ra

 
Sum = (10+5j)

Trong chương trình trên, chúng ta cộng hai số phức a và b bằng toán tử +

Sử dụng đầu vào của người dùng

Trong ví dụ trên, hai số phức là các giá trị được mã hóa cứng. Chúng tôi cũng có thể lấy những số phức đó làm đầu vào từ người dùng. Ví dụ,

 
a = complex(input("Enter first complex number: "))
b = complex(input("Enter second complex number: "))
sum = a + b
print("Sum =", sum)

đầu ra

 
Enter first complex number: 
3+2j
Enter second complex number: 
5+1j
Sum = (8+3j)

Sử dụng Lambda

Chúng ta cũng có thể sử dụng toán tử lambda và + để cộng hai số phức. Ví dụ,

________số 8

đầu ra

 
Sum = (9+8j)

Sử dụng chức năng

Chúng ta cũng có thể viết logic cộng hai số phức bên trong hàm python. Ví dụ,

Sum=(a1+a2)+(b1+b2)j
0

đầu ra

Sum=(a1+a2)+(b1+b2)j
1

Sử dụng Số phức do người dùng xác định bằng Lớp

Chúng ta cũng có thể định nghĩa số phức bằng cách sử dụng lớp. Điều này được sử dụng xác định số phức bao bọc bên trong lớp. Tương tự ta cũng xử lý logic cộng hai số phức bên trong một hàm ở lớp. Ví dụ,

Trong bài viết trước, chúng ta đã nói về số phức trong Python bằng cách sử dụng các lớp và thuộc tính tích hợp để thực hiện các thao tác trên chúng. Nhưng, hãy tưởng tượng nếu Python không được trang bị những tiện ích này. Chúng ta sẽ tiến hành triển khai các hoạt động phức tạp như thế nào?

Để bắt đầu, chúng ta cần khởi tạo số phức của mình

Sum=(a1+a2)+(b1+b2)j
2

Như chúng tôi đã nói trước đây, số phức được tạo từ một số thực và một số ảo. Toán tử

Sum=(a1+a2)+(b1+b2)j
30 xác định các giá trị tạo thành số phức bằng cách khởi tạo giá trị của
Sum=(a1+a2)+(b1+b2)j
31

Bạn có thể nhận thấy rằng

Sum=(a1+a2)+(b1+b2)j
32 (viết tắt của imaginary) đã được đặt bằng 0. Điều này là do số 0 là một số hoàn toàn ảo. Do đó, nếu người dùng không chuyển bất kỳ giá trị nào vào
Sum=(a1+a2)+(b1+b2)j
32, thì điều này đảm bảo rằng nó vẫn là ảo

Chúng ta có một lớp định nghĩa các số phức theo phần thực và phần ảo của chúng, bây giờ chúng ta đã sẵn sàng để bắt đầu tạo các phép toán để thực hiện trên các số phức

Phép cộng

Khi bạn cộng các số phức với nhau, bạn chỉ có thể kết hợp các thuật ngữ giống nhau. Nói cách khác, chúng ta phải cộng các thành phần thực và ảo của cả hai số lại với nhau thành các phần riêng biệt. Nhìn vào lớp cộng bên dưới, chúng ta có thể thấy rằng chúng ta đã xác định số đầu tiên là

Sum=(a1+a2)+(b1+b2)j
31 và số thứ hai là
Sum=(a1+a2)+(b1+b2)j
35

Sau khi khởi tạo hai số phức của chúng ta, chúng ta có thể cộng chúng lại với nhau như được thấy bên dưới lớp cộng

Sum=(a1+a2)+(b1+b2)j
3Phép trừ

Phép trừ hoạt động rất giống với phép cộng với các số phức. Một lần nữa, chúng ta chỉ có thể kết hợp các số hạng giống nhau, do đó, điều quan trọng là chúng ta phải tách các số hạng này ra khi thực hiện phép trừ

Sử dụng cùng các biến từ ví dụ trước,

Sum=(a1+a2)+(b1+b2)j
36 và
Sum=(a1+a2)+(b1+b2)j
37, hãy xem kết quả của phép trừ hai số phức này

print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
2

Như mong đợi, khi bạn trừ 3 từ 2, kết quả là -1 và 10j - 5j cho kết quả là 5j

Phép nhân

Phép nhân phức tạp hơn một chút. Không giống như phép cộng và phép trừ, bây giờ chúng ta sẽ phải kết hợp các hệ số của các số ảo với các số thực. Tuy nhiên, kết quả cuối cùng phải được trả về dưới dạng một số phức

Trước khi bắt tay vào viết mã, chúng ta hãy xem cách thức hoạt động của toán học bên trong. Như bạn có thể thấy bên dưới, chúng tôi chia vấn đề thành hai phần riêng biệt. một giải cho số thực và một giải cho số ảo. Điều này sẽ trông quen thuộc với bất kỳ ai biết đại số

print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
3

Ghi chú

Phần thực của số phức được giải bằng cách trừ

Sum=(a1+a2)+(b1+b2)j
38 nhưng điều này trở thành phép cộng vì một số ảo tương đương với -1. Nói cách khác, phần số thực của phương trình có thể được coi là.
______139.

Hiểu toán học liên quan đến việc giải phép nhân hai số phức là bước đầu tiên quan trọng. Chúng tôi đã sẵn sàng để tiến về phía trước với lớp học. Khi chúng ta xem bên dưới, bạn sẽ nhận thấy rằng phép toán mà chúng ta đã thực hiện ở trên được trình bày rất giống với chính đoạn mã đó

print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
6Bộ phận

Giống như phép nhân, phép chia các số phức có thể trở nên lộn xộn khá nhanh. Đặc biệt là nếu bạn không quen thuộc với các khái niệm cơ bản về cách tìm thương của hai số phức

Tiếp tục với các số phức tương tự được sử dụng trong suốt bài viết này, chúng ta bắt đầu với bài toán tìm số thực. Tương tự như phép nhân, phép chia số phức có thể chia thành hai phân thức riêng biệt cho từng phần của số phức

Sau đó, chúng tôi chuyển sang nửa sau của vấn đề mà chúng tôi giải quyết cho phần ảo. Điều này khá đơn giản vì chúng ta chỉ tuân theo các nguyên tắc chia cơ bản giống như chúng ta sử dụng với các số thực

Khi chúng ta có hai phần cho mỗi phần - phần thực và phần ảo của số phức - thì chúng ta cần kết hợp chúng để có được kết quả cuối cùng

print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
7

Ước số trong bài toán trên được tìm bằng cách nâng phần thực và phần ảo của giá trị

Sum=(a1+a2)+(b1+b2)j
35 lên lũy thừa bậc hai. Vì chúng ta đang chia cho
Sum=(a1+a2)+(b1+b2)j
37 nên đó là 3 và 5j

j của 5j bị loại bỏ khi số này được nâng lên lũy thừa thứ hai, biến nó thành một số thực và cho phép kết hợp nó với

print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
22

Hãy xem điều này được viết ra bằng Python

Enter two complex numbers in the form a+bj:
2+3j
4+6j
sum = (6+9j)
1

Ghi chú

Bạn có thể nhận thấy rằng toán tử chia được gọi là ________ 223 thay vì ________ 224. Điều này là do thực tế rằng

print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
23 là một hoạt động tích hợp trong Python 3 có thể nhận ra toán tử chia
print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
26. Nếu không,
print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
27 sẽ bị coi là bất hợp pháp và sẽ dẫn đến thông báo lỗi

Giá trị tuyệt đối

Trên một ghi chú ít nặng về toán học hơn, chúng ta hãy thử tìm giá trị tuyệt đối của một số phức. Để làm như vậy, chúng ta phải trích hệ số từ phần ảo và kết hợp nó với số thực. Chúng ta đã làm điều này với số chia trong ví dụ trước

Enter two complex numbers in the form a+bj:
2+3j
4+6j
sum = (6+9j)
7

Như chúng ta có thể thấy với i

print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
28, chúng ta đang nâng số thực và số ảo lên lũy thừa bậc hai. Sau khi biến 10j thành -100, chúng ta phải nhân với -1 vì chúng ta đã loại bỏ
print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
29 và biến hệ số thành một số âm. Tuy nhiên, kết quả sẽ không chính xác nếu chúng ta trừ 100 từ 4 vì chúng ta không thể tìm căn bậc hai của một số âm.

 
a = 4+2j
b = 6+3j
sum = a + b
print("Sum =", sum)
0

Bạn có thể thắc mắc tại sao lại cần phải nâng các số lên lũy thừa bậc hai nếu chúng ta chỉ giải căn bậc hai

Như đã lưu ý trước đó, việc nâng số thực và số ảo lên lũy thừa bậc hai sẽ kéo chúng ra khỏi số phức bằng cách loại bỏ tất cả các phần ảo (j bình phương là -1). Điều này cho phép chúng ta kết hợp hai số để tìm giá trị tuyệt đối của chúng

Tất cả cùng nhau

Cho đến giờ chúng ta đã thảo luận về phép cộng, phép trừ, phép nhân, phép chia và giá trị tuyệt đối với các số phức. Bạn có thể tự mình đóng góp nhiều hoạt động hơn cho lớp phức tạp của mình. Nhưng, trước tiên, hãy làm sạch mã và xem nó hoạt động như thế nào

 
a = 4+2j
b = 6+3j
sum = a + b
print("Sum =", sum)
1

Như bạn thấy từ đầu ra kết quả của chúng tôi, chúng tôi có thể thêm một dòng mới (

print("Enter two complex numbers in the form a+bj:")
n1 = complex(input())
n2 = complex(input())
print("sum =", n1 + n2)
30) và gắn nhãn hoạt động để câu trả lời của chúng tôi được trả về ở định dạng gọn gàng hơn và dễ đọc hơn cho người dùng. Còn nhiều điều nữa để mở rộng đối với lớp phức tạp này, hãy tự mình khám phá các khái niệm này để hiểu sâu hơn về Python và các toán tử của nó

Với bài viết này tại OpenGenus, bạn phải có ý tưởng hoàn chỉnh về triển khai và thiết kế Số phức bằng cách sử dụng các lớp trong Python. Vui thích