在对象之间添加和减去值

时间:2019-03-08 20:08:01

标签: python python-3.x oop

如何在两个对象之间添加和减去值?我有一个任务,我需要创建一些银行帐户作为对象。并在他们之间转移资金。

class Account():
def __init__(self, name, balance, number):
    self.name = name
    self.balance = balance
    self.number = number
def transfer(self, amount):
    self.amount = amount
    if self.balance >= amount:
        self.balance = self.balance - amount
    else:
        print("Sorry but you do not have enough funds on your account")

def add(self, add):
    self.add = add
    self.balance = self.balance + add

def show(self):
    print("Hello", self.name, "your current balance is:", self.balance)
acc_1 = Account("Darren William", 2000.50, 3694586)
acc_2 = Account("Jamie Lanister", 7500.34, 3687756)

acc_1.show()
acc_1.transfer(300.89)
acc_1.show()
acc_1.add(500.47)
acc_1.show()

因此,现在我做了一些方法,可以从一个对象中添加和减去x金额。但是我该如何在帐户之间建立连接。例如,如果我从acc_1 100减去acc_2就加100。

2 个答案:

答案 0 :(得分:0)

我建议上两节课。一个是帐户本身,另一个是帐户经理,如下所示:

cmake_minimum_required(VERSION 3.0)
project(ScreenRecorder)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall")
set(source_dir "${PROJECT_SOURCE_DIR}/source/")
set(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/bin/")

find_package(ImageMagick REQUIRED)

include_directories(
  "/usr/include/ImageMagick-6/"
)

link_libraries(
  "/usr/lib/x86_64-linux-gnu/"
)

file (GLOB src_files "${source_dir}*.cpp")

add_executable(ScreenRecorder ${src_files})

因此,现在您可以更好地控制帐户,并为每个帐户设置单独的逻辑。当然,如果您想更好地控制帐户(可以使用词典),则可以改进此功能。

希望有帮助!

答案 1 :(得分:0)

如果您有两种方法分别用于对记入金额的帐户进行转账和对要借记的帐户进行转账至,则程序将起作用。

我不能保证添加下面的代码是最科学的实现,但是可以按需工作。

def transfer(self, amount):
    self.balance += amount

def transfer_to(self, amount, dest_account):
    if self.balance >= amount:
        self.balance -= amount
        dest_account.transfer(amount)
        print('Balance',amount,'transferred successfully')
    else:
        print('Error. You don\'t have enough balance in your account')