2017-06-06 421 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