Я пытался решить проблему создания вложенных кортежей против плоских списков. Я хотел получить максимальное количество итераций, выполняемых этой функцией (n_iter). Я, похоже, решил проблему с использованием оператора «и» против «,» между моими обратными вызовами к первоначальным функциям. Кроме того, это работает значительно быстрее. Кто-нибудь знает, почему эта логика сработала? Это связано с оценкой, где появляется «и»? Полное раскрытие этого было для домашнего задания, но я, кажется, ответил на него.Рекурсивная «и» функциональность Python?
#n_iter should start as zero
def break_it_down(n, n_iter):
if n > 2:
division, subtraction = n/2.0, n-1.0
n_iter +=1
return break_it_down(division,n_iter) and break_it_down(subtraction, n_iter)
return n_iter
Ваш вопрос непонятен! что вы пытаетесь сделать? что когда-либо значение, которое я передаю вашей функции, оно возвращает это значение минус 2. то, что вы хотите достичь с помощью своего кода. пожалуйста, кратко объясните свой и его вывод. –
Как вы думаете, что 'и' делает? Это выглядит неправильно. – user2357112
Итак, мой код предназначен для определения максимального количества игр, доступных игроку в игре, где два игрока могут либо выбрать деление числа на 2, либо вычесть 1. И возвращает значение «max» из вложенных кортежей. – CalTex