Hướng dẫn define the class comp that represent the real and imaginary parts of a complex number in python - định nghĩa lớp comp đại diện cho phần thực và phần ảo của một số phức trong python

Bạn có thể vui lòng giúp tôi với mã dưới đây mà tôi không nhận được kết quả mong muốn:

class comp:
  
    def __init__[self, real, imag]:
        self.real=real
        self.imag=imag

    def add[self,other]:
        print['Sum of the two Complex numbers :{}+{}i'.format[self.real+other.real,self.imag+other.imag]]
    
    def sub[self, other]:
        print['Subtraction of the two Complex numbers :{}+{}i'.format[self.real-other.real, self.imag-other.imag]]

Mã hoạt động nhưng khi trường tưởng tượng kết quả là -2, tôi biết nó sẽ in kết quả là +-2i

Kết quả ví dụ: 1+2i -3+4i = -2-2i [nhưng vì nó được mã hóa cứng là+trong nhận xét, nó dẫn đến -2+-2i eg: 1+2i - 3+4i = -2-2i [but as it is hard coded as + in the comment it is resulting in -2+-2i

Giúp tôi hiểu làm thế nào để thoát khỏi nó?

hỏi ngày 17 tháng 2 năm 2021 lúc 21:26Feb 17, 2021 at 21:26

4

Vấn đề là bạn rõ ràng yêu cầu tách phần thực và tưởng tượng bằng một dấu cộng.

Đây là một phiên bản ngắn

class comp[complex]:
    def add[self, other]:
        print[f'Sum of the two Complex numbers: {self+other}']
    def sub[self, other]:
        print[f'Subtraction of the two Complex numbers: {self-other}']


x = comp[1, 2]
y = comp[3, 4]
x.add[y]
# Sum of the two Complex numbers: [4+6j]
x.sub[y]
# Subtraction of the two Complex numbers: [-2-2j]
        

nếu không thì

def sign[x]:
   return '+' if x>=0 else ''

class comp:
  
    def __init__[self, real, imag]:
        self.real=real
        self.imag=imag

    def add[self, other]:
        r = self.real + other.real
        i = self.imag + other.imag
        print[f'Sum of the two Complex numbers: {r}{sign[i]}{i}i']
    
    def sub[self, other]:
        r = self.real - other.real
        i = self.imag - other.imag
        print[f'Subtraction of the two Complex numbers: {r}{sign[i]}{i}i']


x = comp[1, 2]
y = comp[3, 4]
x.add[y]
# Sum of the two Complex numbers: 4+6i
x.sub[y]
# Subtraction of the two Complex numbers: -2-2i

Đã trả lời ngày 17 tháng 2 năm 2021 lúc 22:55Feb 17, 2021 at 22:55

Kendfsskendfsskendfss

3963 Huy hiệu bạc9 Huy hiệu Đồng3 silver badges9 bronze badges

Tôi đề nghị thêm một câu lệnh

class comp[complex]:
    def add[self, other]:
        print[f'Sum of the two Complex numbers: {self+other}']
    def sub[self, other]:
        print[f'Subtraction of the two Complex numbers: {self-other}']


x = comp[1, 2]
y = comp[3, 4]
x.add[y]
# Sum of the two Complex numbers: [4+6j]
x.sub[y]
# Subtraction of the two Complex numbers: [-2-2j]
        
3 trong mỗi hàm. Cụ thể là
class comp[complex]:
    def add[self, other]:
        print[f'Sum of the two Complex numbers: {self+other}']
    def sub[self, other]:
        print[f'Subtraction of the two Complex numbers: {self-other}']


x = comp[1, 2]
y = comp[3, 4]
x.add[y]
# Sum of the two Complex numbers: [4+6j]
x.sub[y]
# Subtraction of the two Complex numbers: [-2-2j]
        
4 cho việc bổ sung. Sau đó thêm câu lệnh
class comp[complex]:
    def add[self, other]:
        print[f'Sum of the two Complex numbers: {self+other}']
    def sub[self, other]:
        print[f'Subtraction of the two Complex numbers: {self-other}']


x = comp[1, 2]
y = comp[3, 4]
x.add[y]
# Sum of the two Complex numbers: [4+6j]
x.sub[y]
# Subtraction of the two Complex numbers: [-2-2j]
        
5 của
class comp[complex]:
    def add[self, other]:
        print[f'Sum of the two Complex numbers: {self+other}']
    def sub[self, other]:
        print[f'Subtraction of the two Complex numbers: {self-other}']


x = comp[1, 2]
y = comp[3, 4]
x.add[y]
# Sum of the two Complex numbers: [4+6j]
x.sub[y]
# Subtraction of the two Complex numbers: [-2-2j]
        
6. Bạn cũng cần phải làm điều này với chức năng trừ. Giải pháp này không giữ chức năng ở một dòng nhưng nên giải quyết vấn đề.

Đã trả lời ngày 17 tháng 2 năm 2021 lúc 21:40Feb 17, 2021 at 21:40

    def sign[x]:
       return '+' if x>=0 else ''

    class comp:
       def __init__[self, real, imag]:
           self.real=real
           self.imag=imag

       def add[self,other]:
           print['Sum of the two Complex numbers :{}{}{}i'.format[self.real+other.real,sign[self.imag+other.imag],self.imag+other.imag]]

       def sub[self, other]:
           print['Subtraction of the two Complex numbers :{}{}{}i'.format[self.real-other.real,sign[self.imag-other.imag],self.imag-other.imag]]

Đã trả lời ngày 25 tháng 4 lúc 7:15Apr 25 at 7:15

Trình biên dịch trực tuyến Python

Viết, chạy và chia sẻ mã python trực tuyến bằng trình biên dịch Python trực tuyến của OneCompiler miễn phí. Đây là một trong những trình biên dịch trực tuyến mạnh mẽ, giàu tính năng cho ngôn ngữ Python, hỗ trợ cả hai phiên bản là Python 3 và Python 2.7. Bắt đầu với trình soạn thảo Python của OneCompiler rất dễ dàng và nhanh chóng. Trình chỉnh sửa hiển thị mã nồi hơi mẫu khi bạn chọn ngôn ngữ là Python hoặc Python2 và bắt đầu mã hóa.

Lấy đầu vào [STDIN]

Trình chỉnh sửa trực tuyến Python của OneCompiler hỗ trợ Stdin và người dùng có thể cung cấp đầu vào cho các chương trình bằng hộp văn bản Stdin trong tab I/O. Sau đây là một chương trình Python mẫu lấy tên làm đầu vào và in tên của bạn bằng Hello.

import sys
name = sys.stdin.readline[]
print["Hello "+ name]

Về Python

Python là một ngôn ngữ lập trình đa năng rất phổ biến được tạo ra bởi Guido Van Rossum, và được phát hành vào năm 1991. Nó rất phổ biến để phát triển web và bạn có thể xây dựng hầu hết mọi thứ như ứng dụng di động, ứng dụng web, công cụ, phân tích dữ liệu, học máy học vv Nó được thiết kế để đơn giản và dễ dàng như ngôn ngữ tiếng Anh. Nó có năng suất cao và hiệu quả làm cho nó trở thành một ngôn ngữ rất phổ biến.

Hướng dẫn & Cú pháp Trợ giúp

Vòng lặp

1. If-Else:

Khi bạn muốn thực hiện một tập hợp các hoạt động dựa trên một điều kiện if-Else được sử dụng.

if conditional-expression
    #code
elif conditional-expression
    #code
else:
    #code

Note:

Thắng là rất quan trọng trong Python, hãy đảm bảo đúng thụt được theo dõi chính xác

2. Vì:

Đối với vòng lặp được sử dụng để lặp qua các mảng [danh sách, tuple, set, từ điển] hoặc chuỗi.

Example:

mylist=["Iphone","Pixel","Samsung"]
for i in mylist:
    print[i]

3. Trong khi:

Trong khi cũng được sử dụng để lặp lại một tập hợp các câu lệnh dựa trên một điều kiện. Thông thường trong khi được ưa thích khi số lần lặp không được biết trước.

while condition  
    #code 

Bộ sưu tập

Có bốn loại bộ sưu tập trong Python.

1. Danh sách:

Danh sách là một bộ sưu tập được đặt hàng và có thể được thay đổi. Danh sách được chỉ định trong dấu ngoặc vuông.

Example:

mylist=["iPhone","Pixel","Samsung"]
print[mylist]

2. Tuple:

Tuple là một bộ sưu tập được đặt hàng và không thể thay đổi. Tuples được chỉ định trong ngoặc tròn.

Example:

myTuple=["iPhone","Pixel","Samsung"]
print[myTuple]

Dưới đây ném lỗi nếu bạn gán một giá trị khác cho Tuple một lần nữa.

class comp[complex]:
    def add[self, other]:
        print[f'Sum of the two Complex numbers: {self+other}']
    def sub[self, other]:
        print[f'Subtraction of the two Complex numbers: {self-other}']


x = comp[1, 2]
y = comp[3, 4]
x.add[y]
# Sum of the two Complex numbers: [4+6j]
x.sub[y]
# Subtraction of the two Complex numbers: [-2-2j]
        
0

3. Đặt:

Bộ là một bộ sưu tập không được đặt hàng và không được giới thiệu. Các bộ được chỉ định trong dấu ngoặc xoăn.

Example:

class comp[complex]:
    def add[self, other]:
        print[f'Sum of the two Complex numbers: {self+other}']
    def sub[self, other]:
        print[f'Subtraction of the two Complex numbers: {self-other}']


x = comp[1, 2]
y = comp[3, 4]
x.add[y]
# Sum of the two Complex numbers: [4+6j]
x.sub[y]
# Subtraction of the two Complex numbers: [-2-2j]
        
1

4. Từ điển:

Từ điển là một tập hợp các cặp giá trị chính không được đặt hàng, có thể được thay đổi và được lập chỉ mục. Chúng được viết bằng dấu ngoặc xoăn với các cặp khóa - giá trị.

Example:

class comp[complex]:
    def add[self, other]:
        print[f'Sum of the two Complex numbers: {self+other}']
    def sub[self, other]:
        print[f'Subtraction of the two Complex numbers: {self-other}']


x = comp[1, 2]
y = comp[3, 4]
x.add[y]
# Sum of the two Complex numbers: [4+6j]
x.sub[y]
# Subtraction of the two Complex numbers: [-2-2j]
        
2

Thư viện được hỗ trợ

Sau đây là các thư viện được hỗ trợ bởi trình biên dịch Python của OneCompiler

TênSự mô tả
NumpyThư viện Numpy Python giúp người dùng dễ dàng làm việc trên các mảng
ScipySCIPY là một thư viện tính toán khoa học phụ thuộc vào sự vô hiệu cho thao tác mảng n chiều thuận tiện và nhanh chóng
Sklearn/Scikit-LearnScikit-learn hoặc Scikit-learn là thư viện hữu ích nhất để học máy ở Python
Gấu trúcPandas là thư viện Python hiệu quả nhất để thao tác và phân tích dữ liệu
MatplotlibMatplotlib là một đa nền tảng, trực quan hóa dữ liệu và thư viện đồ họa cho lập trình Python và đó là mở rộng toán học số

Bài Viết Liên Quan

Chủ Đề