1. 程式人生 > >2019-05-11 問題記錄:python進制轉換

2019-05-11 問題記錄:python進制轉換

個數 十六進制 value 十進制 typeerror 如果 進制轉換 with 含義

1.

print int(12345,base=2)

TypeError: int() can‘t convert non-string with explicit base

int()函數用來將一個字符串或數字類型轉換成整數,如果只有一個參數值,這個值可以是字符串或數字;但是傳入兩個參數,第一個參數是字符串,第二個參數是進制(二進制、八進制、十進制或十六進制)。現在上述的實例中,第一個參數傳入的是數字,第二個是八進制,所以會報錯

2.(和1一樣的意思)

print int(12345,2)

TypeError: int() can‘t convert non-string with explicit base

3.

print int("12345",2)

ValueError: invalid literal for int() with base 2: ‘12345‘

函數含義弄反了,int的第二個參如果是2/8/16,表示這個str要轉成的int是2/8/16進制數,由這個數轉為10進制;

而不是說把str轉後的int變成2/8/16進制;不存在12345這樣的二進制數,所以報錯

2019-05-11 問題記錄:python進制轉換