在Python 3.4中,乘法不起作用,我有奇怪的錯誤!Python中的乘法不起作用
這是我的代碼:
timerlenth = input('Please enter the amount of minute: ')
int(timerlenth)
timersec = (timerlenth*60)
print (timersec)
下面是結果的照片:
我在試圖解決這個問題幾乎一無所知!
在Python 3.4中,乘法不起作用,我有奇怪的錯誤!Python中的乘法不起作用
這是我的代碼:
timerlenth = input('Please enter the amount of minute: ')
int(timerlenth)
timersec = (timerlenth*60)
print (timersec)
下面是結果的照片:
我在試圖解決這個問題幾乎一無所知!
的input
函數返回一個字符串。因此變量timerlenth
存儲一個字符串。下一行,int(timerlenth)
將此變量轉換爲整數,但對結果不做任何處理,而將timerlenth
保留爲與之前相同的字符串。 Python有這個功能,其中[string]*x
將重複字符串x
次,這就是您在輸出中看到的內容。
爲了得到實際的乘法,你必須將int(timerlenth)
的值存儲到一個變量中,最好是一個新的變量(良好的編程習慣),並在乘法運算中使用新值。
timerlenth
是一個字符串,所以*
運算符只是將其分解60次而不是乘以它。這是由於您誤用了int
而引起的 - 它不會更改傳遞的參數,它會爲其返回一個整數值,然後通過在任何地方不分配它來丟失整數值。只要將其重新分配給timerlenth
和你應該罰款:
timerlenth = int(timerlenth)
謝謝!這解決了我的問題。 –