某文本編輯軟件可以把所做的文本編輯操作記錄下來,并通過撤銷和恢復命令來撤銷一步操作或恢復一步撤銷的操作;也可以通過數(shù)字命令一次性撤銷最近的多步文本編輯操作,如圖所示。設計算法模擬該功能。約定:①操作記錄只存儲文本編輯指令;②存儲步數(shù)最多為5步,存滿后早期的操作記錄將被覆蓋;③程序只顯示操作記錄的可“撤銷”記錄,可“恢復”記錄不顯示;④一旦有新的文本編輯操作,則清空所有可“恢復”記錄。人機交互的指令如下(所有操作示例都基于上一個示例結果繼續(xù)操作):
類型 | 指令 | 示例 | 程序輸出結果 |
文本編輯 | “T1”、“T2”、“T3”、“T4”表示四種文本編輯操作 | 對文本依次做“T1”、“T2”、“T3”、“T4”操作后,再輸入指令“T2” | 請輸入操作指令:T2指今B可用;指令F不可用可撤銷記錄:T1/T2/T3/T4/T2/ |
撤銷 | “B”表示撤銷1步操作 | 輸入“B”結果:撤銷最近一步操作“T2” | 請輸入操作指令:B指今B可用:指令F可用可撤銷記錄:T1/T2/T3/T4/ |
數(shù)字“1”~“5”表示撤銷多步操作 | 輸入“3”結果:撤銷最近3步操作“T4”、“T3”和“T2” | 請輸入操作指令:3指令B可用;指令F可用可撤銷記錄:T1/ | |
恢復 | “F”表示恢復1步撤銷的文本編輯操作 | 輸入“F”結果:恢復最近的1步文本編輯操作“T2” | 請輸入操作指令:F指令B可用;指令F可用可撤銷記錄:T1/T2/ |
文本編輯 | 在撤銷或恢復操作之后繼續(xù)新的文本編輯操作 | 輸入“T1”結果:可“恢復”記錄“T3”、“T4”、“T2”被清空 | 請輸入操作指令:T1指令B可用:指令F不可用可撤銷記錄:T1/T2/T1/ |
(1)由題意可知,當依次執(zhí)行指令“T2”、“T2”、“T1”、“T3”、“T1”、“T4”,則最終可撤銷記錄共有
5
5
個。(2)模擬實現(xiàn)該功能的Python代碼如下,請在劃線處填入合適的代碼。
(3)若加框處代碼誤寫為“d==”B””,會導致某些情況下無法得到符合判斷功能的結果。下列4組數(shù)據(jù)中能測試出這一問題的是
ABC
ABC
(多選,填字母)選項 | 依次輸入下列操作指令 |
A | “B”? |
B | “T1”、“B”、“B”? |
C | “T1”、“1”、“B”?? |
D | “T1”、“T2”、“B” |
【答案】5;ABC
【解答】
【點評】
聲明:本試題解析著作權屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復制發(fā)布。
發(fā)布:2024/8/18 2:0:3組卷:2引用:1難度:0.5
相似題
-
1.上題程序中第四行代碼如果改為“elif 500<=money<1000:“,則( ?。?/h2>
A.程序仍然正確 B.程序報錯 C.程序結果錯誤 發(fā)布:2024/12/19 15:30:1組卷:2引用:1難度:0.6 -
2.表達式a% 2==1 and a% 5==0的含義可以描述為( )
A.能被5整除的偶數(shù) B.能被5整除的奇數(shù) C.能被2整除余1 D.能被5整除余1 發(fā)布:2024/12/20 4:0:1組卷:2引用:1難度:0.6 -
3.下面的程序段,通過鍵盤輸入8,則運算結果是( ?。?br />A=input(?)
print(A*5)”A.40 B.88888 C.8*5 D.8.5 發(fā)布:2024/12/19 6:30:1組卷:3引用:1難度:0.6
把好題分享給你的好友吧~~