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

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

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



0
10.07.2021, 13:02

Не по теме:

Melodya, в теги Python...

0
 Аватар для Semen-Semenich
5224 / 3471 / 1173
Регистрация: 21.03.2016
Сообщений: 8,299
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
5224 / 3471 / 1173
Регистрация: 21.03.2016
Сообщений: 8,299
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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,705
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru