在計算機進行加密或解密過程中,經(jīng)常會對字符串進行移位等變換操作。某字符串的變換規(guī)則描述如下:①輸入的字符為十六進制數(shù)(英文字母大寫,確保輸入的個數(shù)為 3 的倍數(shù)),如 4AC ②字符串中的每個字符轉(zhuǎn)成四位二進制,按序拼接,如 010010101100 ③二進制字符串每 4 位進行前后倒置(即4位數(shù)左右倒置)操作,如 001001010011 ④將倒置后的字符串每 3 位轉(zhuǎn)換成 1 位十進制,按序拼接后輸出該十進制串。運行結(jié)果如下圖所示:
根據(jù)該規(guī)則編寫的程序如下,請回答以下問題:
(1)程序中加框處代碼有誤,請改正
(2)請在下橫線處補充完整程序
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(“請輸入一個十六進制數(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 位十六進制轉(zhuǎn)成 4 位二進制
ts=““
for i in range(0,②len(th),4len(th),4 ):#每 4 位進行前后倒置 ts+=th[i+3]+th[i+2]+th[i+1]+th[i]
tob=““
tmp=0
for i in range(len(ts)):#二進制串轉(zhuǎn)十進制
tmp=tmp*2+int(ts[i])#累乘相加轉(zhuǎn)換成十進制
if :#每 3 個字符為一組進行轉(zhuǎn)換后的拼接
tob=tob+str(tmp)
tmp=0
print(“變換后的字符串為:“,tob)
【考點】設(shè)計應(yīng)用程序的界面.
【答案】th=th+Hex[k];len(th),4
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:0引用:2難度:0.4
相似題
-
1.有如下VB程序段:
在文本框Text 1中輸入“985-3+-”,執(zhí)行該程序段后,文本框Text2中顯示的值為( )發(fā)布:2025/1/2 11:0:1組卷:1引用:1難度:0.4 -
2.某 vb 工程的代碼窗口如圖所示,則下列說法正確的是( ?。?br />
發(fā)布:2025/1/2 11:0:1組卷:0引用:1難度:0.4 -
3.小李編寫了按奇數(shù)位數(shù)字升序和偶數(shù)位數(shù)字降序排列的 VB 程序,功能如下:程序運行時,在標(biāo)簽 Label1 中顯示排序前的數(shù)字,單擊“排序”按鈕,在標(biāo)簽 Label2 中輸出排序的結(jié)果,運行界面如圖所示。
實現(xiàn)上述功能的 VB 程序如下。
(1)根據(jù)程序代碼,窗體中顯示“排序”文字的按鈕對象名稱為_____。
(2)程序代碼中,加框處代碼有錯,請改正。
(3)程序代碼中,將 Label2.Caption 賦值語句補充完整。
(4)程序代碼中,與下劃線語句 i Mod 2=0 功能相同的是_____ (單選,填字母:A.j Mod2=1/B.(i+j) Mod 2=0/C.k<>i)發(fā)布:2025/1/2 11:0:1組卷:0引用:1難度:0.9
把好題分享給你的好友吧~~