Как сделать что б переменная брала своё значение из последующего кода, а не из предыдущего?

например, переменная

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 
→ Ссылка
Автор решения: Xander

Не очень понятно, что вы хотите сделать в конечном итоге.

Но вообще, если есть потребность разделить задание некоторого значения и его использование, чтобы чередовать их в произвольном порядке, то мне сразу приходит в голову использовать класс. Это будет выглядеть немного сложнее, чем вы хотите, но будет работать так же.

# Определяем класс
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
→ Ссылка