我實現了一個函數,將一個整數轉換爲一個字符串intToStr()
(代碼如下)。爲什麼Python在它前面有一個0時改變整數的值?
爲了測試我的一些值已經過去了,觀察到一個意想不到的輸出:
print intToStr(1223) # prints 1223 as expected
print intToStr(01223) # prints 659, surprisingly
現在,我已經嘗試調試它,而我傳遞的整數確實變成了是659
。
爲什麼會發生這種情況,我怎樣才能讓python忽略整數字面的前導零?
下面是我的函數代碼:
def intToStr(i):
digits = ''
if i == 0:
return 0
result = ""
while i > 0:
result = digits[i%10] + result
i /= 10
return result
,因爲它變成八進制 – sherpya
使用'lstrip('0')'去除'0'。 –