2016-10-12 17 views
0

這究竟是爲什麼?:爲什麼Python爲int()看起來有效的字符串引發ValueError?

>>> int('20', 3) 
6 
>>> int('8', 3) 

Traceback (most recent call last): 
    File "<pyshell#9>", line 1, in <module> 
    int('8', 3) 
ValueError: invalid literal for int() with base 3: '8' 

是的,我已經看到了這個帖子:ValueError: invalid literal for int() with base 10: ''

但 '8' 沒有任何小數。它也沒有任何空格。爲什麼這不起作用?當然8可能代表基數3.

回答

2

爲什麼不能正常工作?

因爲圖8是在基座3基地3無效的整數只允許從整數0(含)到2(不包括),從而導致ValueError

當然8有可能在基地3

是代表,但是這不是什麼int()一樣。它將表示轉換爲數字。

>>> int('22', 3) 
8 

如上所見,在int需要一個數在指定的基礎上,他們將其轉換爲整數。

+0

哦,男人,我覺得愚蠢。謝謝。 – user124384

相關問題