在計算機(jī)進(jìn)行加密或解密過程中,經(jīng)常會對字符串進(jìn)行移位等變換操作。某字符串的變換規(guī)則描述如下:①輸入的字符為十六進(jìn)制數(shù)(英文字母大寫,確保輸入的個數(shù)為 3 的倍數(shù)),如 4AC ②字符串中的每個字符轉(zhuǎn)成四位二進(jìn)制,按序拼接,如 010010101100 ③二進(jìn)制字符串每 4 位進(jìn)行前后倒置(即4位數(shù)左右倒置)操作,如 001001010011 ④將倒置后的字符串每 3 位轉(zhuǎn)換成 1 位十進(jìn)制,按序拼接后輸出該十進(jìn)制串。運(yùn)行結(jié)果如下圖所示: 根據(jù)該規(guī)則編寫的程序如下,請回答以下問題: (1)程序中加框處代碼有誤,請改正 (2)請在下橫線處補(bǔ)充完整程序 Hex={“0“:“0000“,“1“:“0001“,“2“:“0010“,“3“:“0011“,“4“:“0100“,“5“:“0101“,“6“:“0110“,“7“:“0111“,“8“:“1000“,“9“:“1001“,“A“:“1010“,“B“:“1011“,“C“:“1100“,“D“:“1101“,“E“:“1110“,“F“:“1111“} sch=input(“請輸入一個十六進(jìn)制數(shù)(字母大寫):“) th=““ for k in sch: if“0“<=k<=“9“or“A“<=k<=“F“:#若 k 為數(shù)字字符或大寫字母 ①
th=th+Hex[k]
th=th+Hex[k]
#每 1 位十六進(jìn)制轉(zhuǎn)成 4 位二進(jìn)制 ts=““ for i in range(0,②
len(th),4
len(th),4
):#每 4 位進(jìn)行前后倒置 ts+=th[i+3]+th[i+2]+th[i+1]+th[i] tob=““ tmp=0 for i in range(len(ts)):#二進(jìn)制串轉(zhuǎn)十進(jìn)制 tmp=tmp*2+int(ts[i])#累乘相加轉(zhuǎn)換成十進(jìn)制 if :#每 3 個字符為一組進(jìn)行轉(zhuǎn)換后的拼接 tob=tob+str(tmp) tmp=0 print(“變換后的字符串為:“,tob)