0 / 0 / 0
Регистрация: 10.07.2021
Сообщений: 3

Ошибка при выполнении кода

10.07.2021, 12:49. Показов 2099. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написала код, но в конечном итоге он выдал две ошибки, которые мне, будучи не программистом, сложно расшифровать

line 121, in <module>
print(cash_calculator.get_today_cash_rem ained('rub'))
line 82, in get_today_cash_remained
limit_cash = self.get_today_cash_remained()
TypeError: get_today_cash_remained() missing 1 required positional argument: 'currency'

После того, как я добавляю валюту, как аргумент, происходит следующее:

line 121, in <module>
print(cash_calculator.get_today_cash_rem ained('rub'))
line 82, in get_today_cash_remained
limit_cash = self.get_today_cash_remained('rub')
[Previous line repeated 996 more times]
RecursionError: maximum recursion depth exceeded

Направьте, пожалуйста. Как здесь лучше поступить, чтобы ошибки не возникало вовсе?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.07.2021, 12:49
Ответы с готовыми решениями:

Выскакивает ошибка при выполнении кода
дана задача: 2. Создайте два списка: один из 10 фамилий студентов Вашей группы, другой из 10 фамилий студентов другой группы. 2.1....

Как сделать, чтобы при выполнении кода содержимое сразу подставлялось в нужную часть кода и выполнялось?
Нужно чтобы при выполнении кода, содержимое буфера обмена сразу добавлялось в значении X и выполняло команду из строчки s=&quot;start...

Ошибка при выполнении кода
f = open(&quot;27-70a.txt&quot;) N = int(f.readline()) s = 0 dMin = 501 M = for i in range(N): a, b =...

9
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
10.07.2021, 12:53
Цитата Сообщение от Melodya Посмотреть сообщение
Как здесь лучше поступить, чтобы ошибки не возникало вовсе?
Цитата Сообщение от Melodya Посмотреть сообщение
get_today_cash_remained('rub')
Код в студию!
0
0 / 0 / 0
Регистрация: 10.07.2021
Сообщений: 3
10.07.2021, 12:56  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class CashCalculator(Calculator):
    currency = 'rub'
    RUB_RATE = 1.0
    USD_RATE = 74.89
    EURO_RATE = 88.81
 
    def get_today_cash_remained(self, currency):
        """Этим методом мы определяем, сколько денег можно потратить в
        рублях, долларах или евро.
 
        """
 
        self.currencies = {
            "rub": ["руб", self.RUB_RATE],
            "eur": ["Euro", self.EURO_RATE],
            "usd": ["USD", self.USD_RATE]
        }
        limit_cash = self.get_today_cash_remained()
        self.currency_name, self.currency_rate = self.currencies[currency]
        limit_cash: float = round(self.get_remained() / self.currency_rate, 2)
        if limit_cash > 0:
            return f'На сегодня осталось {limit_cash} {self.currency_name}'
        elif limit_cash == 0:
            return 'Денег нет, держись'
        else:
            return (f'Денег нет, держись: твой долг -'
                    f'{abs(limit_cash)} {self.cur_name}')
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
10.07.2021, 12:58
Цитата Сообщение от Melodya Посмотреть сообщение
После того, как я добавляю валюту, как аргумент, происходит следующее:
что бы понять рекурсию - надо понять рекурсию!. главное не понять рекурсию а понять как из нее правильно выйти!
вы не поняли как из нее выйти и поэтому вам и сказано что Превышена максимальная глубина рекурсии
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
10.07.2021, 13:00
Melodya, учимся пользоваться тегами!



0
10.07.2021, 13:02

Не по теме:

Melodya, в теги Python...

0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
10.07.2021, 13:06
Python
1
2
3
4
5
6
7
8
9
10
11
12
    def get_today_cash_remained(self, currency): # метод требует аргумент currency
        """Этим методом мы определяем, сколько денег можно потратить в
        рублях, долларах или евро.
 
        """
 
        self.currencies = {
        "rub": ["руб", self.RUB_RATE],
        "eur": ["Euro", self.EURO_RATE],
        "usd": ["USD", self.USD_RATE]
        }
        limit_cash = self.get_today_cash_remained()# рекурсивный вызов метода без аргумента. 1 ошибка.
ну а так как нет условия для завершения рекурсии то этот участок кода крутится 999 раз и завершается с ошибкой. 2 ошибка после того как вы добавили аргумент
0
0 / 0 / 0
Регистрация: 10.07.2021
Сообщений: 3
10.07.2021, 13:08  [ТС]
Но ведь если я прописываю туда currency, как аргумент, у меня и крутится 996 раз
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
10.07.2021, 13:16
при каком условии должна завершится рекурсия???
Python
1
2
3
4
5
6
7
def recursion(x):
    print(f' рекурсивный вызов - {x}')
    x += 1
    recursion(x)
 
x = 1
recursion(x)
и так

Python
1
2
3
4
5
6
7
8
9
10
11
def recursion(x):
    print(f' рекурсивный вызов - {x}')
    x += 1
    if x == 500:
        print('С меня уже хватит!!!')
        return
    recursion(x)
 
 
x = 1
recursion(x)
запустите эти коды и почувствуйте разницу
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
10.07.2021, 16:49
Зачем здесь рекурсия?

Цитата Сообщение от Melodya Посмотреть сообщение
он выдал две ошибки, которые мне, будучи не программистом, сложно расшифровать
Миниатюры
Ошибка при выполнении кода  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.07.2021, 16:49
Помогаю со студенческими работами здесь

Ошибка при выполнении кода
Почему не работает такой код: def max_number(x, y): if x &gt; y: return x else: return y x =...

Ошибка при выполнении кода
В попытках поэкспериментировать с распознаванием элементов на изображении был найден следующий код использующий библиотеки pixellib и...

Ошибка при выполнении кода ValueError
f = open(&quot;27-70a.txt&quot;) N = int(f.readline()) s = 0 dMin = 501 M = for i in range(N): a, b = map(int,...

Ошибка при выполнении кода по распознаванию предметов на веб-камере
Добрый день. Столкнулся с новой проблемой. При попытке запустить в Anaconda Powershell Promt (Anaconda 3) код распознающий предметы с...

Игнор ошибок при выполнении кода
Как заставить питона не заканчивать роботу после какой либо ошибки? Например, код работает с сетью и, как пропадает соединение он выбевает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru