Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 10.07.2021
Сообщений: 3

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

10.07.2021, 12:49. Показов 2104. Ответов 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,310
10.07.2021, 12:58
Цитата Сообщение от Melodya Посмотреть сообщение
После того, как я добавляю валюту, как аргумент, происходит следующее:
что бы понять рекурсию - надо понять рекурсию!. главное не понять рекурсию а понять как из нее правильно выйти!
вы не поняли как из нее выйти и поэтому вам и сказано что Превышена максимальная глубина рекурсии
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
10.07.2021, 13:00
Melodya, учимся пользоваться тегами!



0
10.07.2021, 13:02

Не по теме:

Melodya, в теги Python...

0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
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,310
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,736
Записей в блоге: 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 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru