Как сделать что б переменная брала своё значение из последующего кода, а не из предыдущего?
например, переменная
x = 5
f = x + 4
print(f) # 9
x = 6 + 4 + 3 # x принимает значение 13
как сделать что б это значение 13 передавалось в X заменяя значение 5, и что б потом со значением 13 высчитывалась f?
Ответы (3 шт):
Ну так x у вас уже приняло значение 13 и заменило 5. Просто высчитайте значение f снова наверное?
x = 5
f = x + 4
print(f) # 9
x = 6 + 4 + 3 # x принимает значение 13
f = x + 4
print(f) # 17
EDIT: Вообще не понимаю что вам нужно, но вот:
x = 5
x = 6 + 4 + 3 # x принимает значение 13
f = x + 4
print(f) # 9
Не очень понятно, что вы хотите сделать в конечном итоге.
Но вообще, если есть потребность разделить задание некоторого значения и его использование, чтобы чередовать их в произвольном порядке, то мне сразу приходит в голову использовать класс. Это будет выглядеть немного сложнее, чем вы хотите, но будет работать так же.
# Определяем класс
class A:
def __init__(self):
self.x = 5
@property
def f(self):
return self.x + 4
# Используем класс
a = A()
print(a.f) # Выведет 9
a.x = 6 + 4 + 3 # a.x принимает значение 13
print(a.f) # Выведет 17, т.к. 13+4=17
Звучит так, как будто это нужно делать в цикле. Но больше двух итераций делать бессмысленно, т.к. после первой итерации x уже не меняется. (Возможно, это попытка посчитать рекуррентную формулу?)
x = 5
for _ in range(2):
f = x + 4
print(f) # 9
x = 6 + 4 + 3 # x принимает значение 13
9
17