2016-08-19 58 views
0

在Python 3.4中,乘法不起作用,我有奇怪的錯誤!Python中的乘法不起作用

這是我的代碼:

timerlenth = input('Please enter the amount of minute: ') 
int(timerlenth) 
timersec = (timerlenth*60) 
print (timersec) 

下面是結果的照片:

The code multiplies the input by 60 and I get a result for 1111111...

我在試圖解決這個問題幾乎一無所知!

回答

1

input函數返回一個字符串。因此變量timerlenth存儲一個字符串。下一行,int(timerlenth)將此變量轉換爲整數,但對結果不做任何處理,而將timerlenth保留爲與之前相同的字符串。 Python有這個功能,其中[string]*x將重複字符串x次,這就是您在輸出中看到的內容。

爲了得到實際的乘法,你必須將int(timerlenth)的值存儲到一個變量中,最好是一個新的變量(良好的編程習慣),並在乘法運算中使用新值。

+0

謝謝!這解決了我的問題。 –

0

timerlenth是一個字符串,所以*運算符只是將其分解60次而不是乘以它。這是由於您誤用了int而引起的 - 它不會更改傳遞的參數,它會爲其返回一個整數值,然後通過在任何地方不分配它來丟失整數值。只要將其重新分配給timerlenth和你應該罰款:

timerlenth = int(timerlenth)