Python BankAccount программа

python

794 просмотра

2 ответа

1 Репутация автора

Создайте класс с именем BankAccount

Создайте конструктор, который принимает целое число и присваивает его balanceсвойству.

Создайте метод с именем, depositкоторый принимает сумму денежного депозита и соответственно обновляет баланс.

Создайте метод с именем, withdrawкоторый берет сумму снятия наличных и соответственно обновляет баланс. если сумма больше, чем возврат баланса"invalid transaction"

Создайте подкласс MinimumBalanceAccount класса BankAccount


эй, друзья, я изучаю Python онлайн, и я хотел бы попробовать это домашнее задание, но у меня есть некоторые проблемы, чтобы скомпилировать его, и это мой код:

import unittest
class AccountBalanceTestCases(unittest.TestCase):
  def setUp(self):
    self.my_account = BankAccount(90)

  def test_balance(self):
    self.assertEqual(self.my_account.balance, 90, msg='Account Balance Invalid')

  def test_deposit(self):
    self.my_account.deposit(90)
    self.assertEqual(self.my_account.balance, 180, msg='Deposit method inaccurate')

  def test_withdraw(self):
    self.my_account.withdraw(40)
    self.assertEqual(self.my_account.balance, 50, msg='Withdraw method inaccurate')

  def test_invalid_operation(self):
    self.assertEqual(self.my_account.withdraw(1000), "invalid transaction", msg='Invalid transaction')

  def test_sub_class(self):
    self.assertTrue(issubclass(MinimumBalanceAccount, BankAccount), msg='No true subclass of BankAccount')

и это ошибка, которую я получаю от этого:

В вашем кодовом решении есть ошибки

В вашем коде есть ошибка / ошибка

Результаты:

Traceback (most recent call last):
  File "python/nose2/bin/nose2", line 8, in 
    discover()
  File "/usr/local/lib/python2.7/dist-packages/nose2/main.py", line 300, in discover
    return main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/nose2/main.py", line 100, in __init__
    super(PluggableTestProgram, self).__init__(**kw)
  File "/usr/lib/python2.7/unittest/main.py", line 94, in __init__
    self.parseArgs(argv)
  File "/usr/local/lib/python2.7/dist-packages/nose2/main.py", line 133, in parseArgs
    self.createTests()
  File "/usr/local/lib/python2.7/dist-packages/nose2/main.py", line 258, in createTests
    self.testNames, self.module)
  File "/usr/local/lib/python2.7/dist-packages/nose2/loader.py", line 67, in loadTestsFromNames
    for name in event.names]
  File "/usr/local/lib/python2.7/dist-packages/nose2/loader.py", line 82, in loadTestsFromName
    result = self.session.hooks.loadTestsFromName(event)
  File "/usr/local/lib/python2.7/dist-packages/nose2/events.py", line 224, in __call__
    result = getattr(plugin, self.method)(event)
  File "/usr/local/lib/python2.7/dist-packages/nose2/plugins/loader/testclasses.py", line 119, in loadTestsFromName
    result = util.test_from_name(name, module)
  File "/usr/local/lib/python2.7/dist-packages/nose2/util.py", line 106, in test_from_name
    parent, obj = object_from_name(name, module)
  File "/usr/local/lib/python2.7/dist-packages/nose2/util.py", line 117, in object_from_name
    module = __import__('.'.join(parts_copy))
  File "/home/ubuntu/Applications/andelabs-server/tmp/5783854141a07c1400924f81-565b07b72568f41500779d20-test.py", line 4, in 
    from tmp.andelabs_5783854141a07c1400924f81_565b07b72568f41500779d20 import *
  File "/home/ubuntu/Applications/andelabs-server/tmp/andelabs_5783854141a07c1400924f81_565b07b72568f41500779d20.py", line 2
    def __init__(self,  balance = 90):
      ^
IndentationError: expected an indented block

пожалуйста, мне несколько советов, чтобы исправить это.

Автор: Ntangamiampi Zagabe Источник Размещён: 18.07.2016 05:40

Ответы (2)


0 плюса

734 Репутация автора

Похоже, что существует проблема с отступом в модуле, который вы импортируете. Единственный способ исправить это - отредактировать сам файл и проверить отступ, особенно в строке 2, как указано в сообщении об ошибке .

Автор: Neil A. Размещён: 17.08.2016 01:33

1 плюс

621 Репутация автора

Проблема в том, что в строке 2 вы используете 2 пробела вместо отступа блока кода, начинающегося с def setUp(self):. Вместо этого вы должны использовать отступ (нажмите вкладку). В отличие от Java или C, Python заботится об отступах при компиляции кода.

Автор: Neil Chowdhury Размещён: 11.08.2017 12:00
Вопросы из категории :
32x32