2017-06-06 235 views
-1

因此,我正在编写一个程序,需要通过用户键入的量来增加一些变量。我觉得像这样的代码将工作:增加变量

var = 0 
increase = input("Increase by: ") 
var + increase 
print(var) 

,但它只是说,VAR为0。我甚至尝试使输入类型为int,int(input(""))

仍然没有奏效。为什么它不会增加变量?

请记住,我使用Python 2.7

编辑它解决了!我刚刚做出来var += increase

+0

使用'VAR + = increase'(这是简写'VAR = VAR + increase')。不仅仅是'var + increase'。你没有改变'var'的值。 –

+0

也请记住,如果我输入负数,会发生什么情况;) –

回答

1

您需要理解语句和赋值之间的区别。 您正在声明var +增加,但其结果从不使用。你基本上要求计算机评估它,但没有副作用(如打印到屏幕上,通过网络发送或将它放在内存中)

您可以使用语句的结果在许多方面,例如,可以直接打印:

print var + increase 

或者你可以把它分配给一个变量

var = var + increase 

更妙的是,到一个新的变量:

result = var + increase 

实际上,在python中,如果你只做一个声明,它并不完全丢失,它保存在一个名为“ans”的变量中,该变量用下划线(_)表示。

所以,你可以做

var + increase 
print(_) 
+0

打印var +增加的唯一问题是它稍后将不可用,如果这是最后一步,当然。小心一点。 –

+0

这是真的。我从来没有在我的生活中写过一行python,所以我不知道什么时候使用它,当然在repl中可以。但是我不想说谎,并且说它不是在丢弃的时候被丢弃。 – DusteD

+1

我喜欢那个'魔术变数'珍闻。从来不知道Python把它保留在'ans'谢谢。生病给你+1(即使我有第一个答案:() –

0

你错过了var的设置。当你添加VAR +增加它需要是

var=var+increase. 
return var or print(var) 

基本上,你添加VAR增加,而不用做任何事情产生的总和。

0

您需要更新var。你在第3行所做的全部工作就是将var +增加分配给ans。尝试这样做:

var = 0 
increase = input("Increase by: ") 
var = var + increase 
print var