輪盤加密算法是指將明文中的每--個(gè)英文字符通過轉(zhuǎn)動(dòng)圖1輪盤的方式得到一個(gè)數(shù)值,
然后根據(jù)數(shù)值對(duì)明文進(jìn)行加密。具體加密方法如下:
明文中的大寫字母需全部轉(zhuǎn)換成小寫字母再進(jìn)行處理,針對(duì)每一個(gè)字母,轉(zhuǎn)動(dòng)一次輪盤得到一個(gè)0到9的數(shù)值,再根據(jù)圖2的回環(huán)規(guī)則往“右”移動(dòng)相應(yīng)的步長(zhǎng)。除大小寫字母以外的其他字符原樣輸出。舉例如下:
加密:明文“Ab2x“
“A”轉(zhuǎn)換成小寫字母“a”,轉(zhuǎn)動(dòng)輪盤得到隨機(jī)數(shù)2,往右移動(dòng)2個(gè)步長(zhǎng)得到“c”
“b”直接轉(zhuǎn)動(dòng)輪盤得到隨機(jī)數(shù)3,往右移動(dòng)3個(gè)步長(zhǎng)得到“e”
“2”不做處理,直接得到“2”
“x”直接轉(zhuǎn)動(dòng)輪盤得到隨機(jī)數(shù)5,往右移動(dòng)5個(gè)步長(zhǎng)得到“c”
最終形成密文為“ce2c”
解密:由密文轉(zhuǎn)換為明文,英文字符根據(jù)圖2的回環(huán)規(guī)則向“左”移動(dòng)加密時(shí)的數(shù)值,得到明文,例如,“c”在加密時(shí)的輪盤轉(zhuǎn)動(dòng)值是5,則往左移5個(gè)步長(zhǎng)得到“x”,以此類推,“ce2c”根據(jù)加密數(shù)值2,3,5依次解密得到明文“ab2x”
Python程序如下:
閱讀程序回答:
(1)若輸入明文是“d!9Y”,輪盤加密數(shù)值為2,3,則轉(zhuǎn)換為密文是 “f!9b”“f!9b”。
(2)加框處代碼有誤,請(qǐng)改正。
(3)補(bǔ)充①②兩處代碼。
【考點(diǎn)】程序設(shè)計(jì)實(shí)例.
【答案】“f!9b”
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:2引用:1難度:0.3
相似題
-
1.公因數(shù)只有1的兩個(gè)非零自然數(shù),叫做互質(zhì)自然數(shù)。王老師編寫了一個(gè)Python程序,程序的功能是隨機(jī)產(chǎn)生5個(gè)1到20之間的整數(shù),找出其中和最大的互質(zhì)數(shù)對(duì)。程序運(yùn)行界面如圖所示:
實(shí)現(xiàn)該功能的程序代碼如下:
請(qǐng)回答下列問題:
(1)尋找互質(zhì)數(shù)對(duì)的算法屬于
(2)如產(chǎn)生的 5 個(gè)隨機(jī)數(shù)是[20,16,12,6,14],則程序輸出內(nèi)容是
(3)要實(shí)現(xiàn)程序的功能,請(qǐng)完善橫線處的代碼。發(fā)布:2024/12/20 18:0:1組卷:3引用:1難度:0.4 -
2.小紅用Python編寫程序畫出了如圖形,在第三行下劃線處應(yīng)該填寫( ?。?br />
發(fā)布:2024/12/18 11:0:1組卷:2引用:1難度:0.6 -
3.【加試題】小丫覺得回文字符串太優(yōu)美了(回文字符串是指順讀和倒讀都一樣的字符串,如“123321”),為此編寫了VB 程序。程序運(yùn)行時(shí),單擊按鈕Command1 后,根據(jù)文本框Text1 中輸入的內(nèi)容判斷并輸出是不是回文串。實(shí)現(xiàn)上述功能的VB 代碼如下。
Private Sub Command1_Click( ?。?br />Dim s As String,f As Boolean,L As Integer
s=Text1.Text
j=Len(s)
i=1
Do while?、?/bdo>
i=i+1
j=j-1
Loop
If?、?/bdo>Then Print“是回文串“Else Print“不是回文串“
End Sub
在畫線處填入合適代碼,使程序能正常運(yùn)行。
①
②發(fā)布:2024/12/19 14:30:2組卷:0引用:1難度:0.4
把好題分享給你的好友吧~~