У меня есть этот кусок кода:Функция возврата к глобальному
def bricks(small,big,goal):
current_lenght = 0
current_value = 5
number_of_bricks = big
builder(current_lenght,current_value,number_of_bricks,goal)
current_value = 1
print("in bricks", current_lenght)
number_of_bricks = small
builder(current_lenght,current_value,number_of_bricks,goal)
if current_lenght == goal:
return True
else:
return False
def builder(current_lenght,current_value,number_of_bricks,goal):
use_count = 1
while (goal - current_lenght) >+ current_value and use_count <= number_of_bricks:
current_lenght += current_value
print("in while ",current_lenght)
print(current_lenght)
return current_lenght
и не использует actuall текущую длину от первого использования строителя, но он снова начинается с 0. Почему это так?
Просто, кстати, но '> + current_value' означает "больше, чем 'current_value' со своим знаком неизменным", когда вы, вероятно, означает '> = current_value'. И это «длина», а не «длина». Возможно, вы захотите сначала просмотреть свой код для опечаток. – TigerhawkT3
Не рекомендуется внутри функций, но если вы хотите получить доступ к глобальной переменной, определите ее в верхней части функции как «global current_length», а затем функция будет искать глобальную переменную и использовать ее вместо – Ronikos
'length' или' lenght '? –