Теперь я хочу пояснить, что я не хочу включать переменную b
в качестве аргумента функции g
. Есть ли другой способ, которым я мог бы переписать этот код, учитывая, что g называется рекурсивно? Даже упоминание b = 0 и вызов его как глобального не похоже на ошибку задания задания.Специфическая проблема, связанная с ссылкой на переменную
global b
b = 0
def g(x):
if b < x:
for i in range(10):
if u == i:
b += 1
g(x) #g is called recursively
for u in range(20):
b = 5
g(7)
Но тогда каждый раз, когда я запускаю функцию 'g', мне придется дать ей некоторое значение вместо b правильно? который может фактически испортить код –
, если b имеет значение для g да, я имею в виду, что вы увеличиваете b на единицу, чем вы вызываете g с последним результатом b –