[問題] 陣列放值進去 出錯

作者: tsrn37992307 (Ts)   2018-06-02 17:08:30
我是想把一個檔案內的字,放到陣列裡面
那些字我想轉成十六進制,有轉成功!但是值放不進去。。以下是我的程式碼
import numpy as np
fileName = input ("輸入檔案名稱:")
file = open(fileName,"r")
#abc = np.zeros((4,4))
abc = np.zeros((4,4))
i = 0
for j in range (4):
for i in range (4):
text = file.read(1)
#print("text"+" "+str(text))
textB = text.upper()
#print("textB" +" "+ str(textB))
text2 = ord(text)
#print("textord" +" " + str(text))
text3 = hex(text2)
print("texthex" +" "+text3)
abc[j][i] = text3
#print(abc)
https://i.imgur.com/MvN4C9P.jpg
作者: kobe8112 (小B)   2018-06-02 18:15:00
下面不是有錯誤訊息嗎?
作者: ponponjerry (ponpon)   2018-06-03 00:07:00
先設定一個空的list,再用append就可以了 ex: g= []...省略.... g.append()
作者: abcd810112 (大叔)   2018-06-03 00:07:00
因為轉進位法時 前面會有前綴 比如你錯誤下面寫的0x31因為x不能轉為float 所以報錯
作者: tsrn37992307 (Ts)   2018-06-03 16:11:00
x不能轉為float是什麼意思?是指我那個二維陣列不能放十六進制的東西嗎?
作者: abcd810112 (大叔)   2018-06-04 00:21:00
也不是不能放的問題 而是x是string 沒辦法直接轉為別的進位你可以試試看在ide打看看 bin(數字) 出來的東西其實只有第三位以後的才是你要的進位轉換後的數字

Links booklink

Contact Us: admin [ a t ] ucptt.com