Loading...
Stefansp96 avatar Stefansp96 0 Точки

Проблем със задача Account 90/100

Здравейте,

Получавам 90/100 на задача Account от упражнението на Polymorphism and Abstraction и не мога да видя къде е може да е грешката.

Ще съм благодарен за някакви насоки.

Мерси предварително.

https://pastebin.com/Yz56mL4p

https://judge.softuni.org/Contests/Compete/Index/1943#2

Тагове:
0
Python OOP
icowwww avatar icowwww 2813 Точки

Здравей,

Мисля, че си разбрал условието грешно. Банковата транзакция е движение на пари, независимо дали излизат от сметката или се добавят към нея.

Във функцията handle_transaction получаваш сума на транзакция. Ако за тази транзакция получаваш пари към сметката сумата е положителна, а ако се вадят пари от сметката- отрицателна.

При теб ако се подаде положителна сума, тоест получаваш пари, ти ще сметнеш дали имаш повече от колкото получаваш в проверката.

Затова смени знаците:

    def handle_transaction(self, transaction_amount: int):
        if self.__current_balance + transaction_amount < 0:
            raise ValueError('sorry cannot go in debt!')
        self.__current_balance += transaction_amount
        self._transactions.append(transaction_amount)
        return f"New balance: {self.__current_balance}"

Така ще даде 100/100.

В допълнение може да опростиш add_transaction като след проверката дали е инт извикаш направо handle_transaction

    def add_transaction(self, amount: int):
        if not isinstance(amount, int):
            raise ValueError('please use int for amount')
        self.handle_transaction(amount)

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.