f.write仅写入未更改的变量吗?

问题描述 投票:0回答:1

这是我的摘要代码:

Var1 = 10
Var2 = 100
Var3 = 300
Var4 = 0

Amount = input("Blahblahblah amount for Var 4: ")
Amount2 = input("Blahblahblah amount for Var 1: ")

Amount2 + Amount * Var3 == Var4
Var4 - Var2 == Amount2
 if Amount2 == 20:
     Amount - Var4
 else:
     Amount + Var4 == Var 2

Y = input("Type 'Y' to continue:")
if (Y == "Y"):
    try:
       with open("Test.txt", "a") as f:
           f.write(f"Var 2 == {Var2}, Var 4 == {Var4} \n")
        except Exception as e:
            print(e)

问题在于,它在Test.txt中写入了实际答案的Var 2 == 100, Var 4 == 0。因此,无论我在“金额”或“金额2”中写什么,它都将始终等于Var 2 == 100, Var 4 == 0。这是我看不到的愚蠢错误吗?

python variables pycharm fwrite
1个回答
1
投票

在这些行中,您没有将值重新分配给变量。

Amount2 + Amount * Var3 == Var4
Var4 - Var2 == Amount2
if Amount2 == 20: 
   Amount - Var4
else:
   Amount + Var4 == Var 2

要将值重新分配给变量,请使用:

# definition
a = 1
b = 10
# reassignment
a = a + b
# the new value of a will be 11
# a = 1 + 10

此外,避免使用大写字母调用变量(仅在定义类时才应使用。)>

© www.soinside.com 2019 - 2024. All rights reserved.