a009: 解碼器
這篇教學會示範 ZeroJudge 基礎題庫「a009: 解碼器」的解題過程。
題目需求
題目會給予一個密碼字串,請依照解密方式 ( 把明碼的每個字元加上某一個整數 K 而得到密碼的字元 ) 輸出明碼。
題目連結:a009: 解碼器
解答
首先要根據範例的題目與解答,推敲出字元加上了哪個整數 K,下方的程式執行後,會將題目字串 t1 和解答字串 t2 全部轉為 ASCII code,從中可以看出解答的 ASCII code 比題目少了 7。
參考:ord
t1 = "1JKJ'pz'{ol'{yhklthyr'vm'{ol'Jvu{yvs'Kh{h'Jvywvyh{pvu5"
t2 = "*CDC is the trademark of the Control Data Corporation."
for i in t1:
print(ord(i),end=',')
print('\n')
for i in t2:
print(ord(i),end=',')
# 題目
# 49,74,75,74,39,112,122,39,123,111,108,39,123,121,104,107,108,116,104,121,114,39,118,109,39,123,111,108,39,74,118,117,123,121,118,115,39,75,104,123,104,39,74,118,121,119,118,121,104,123,112,118,117,53,
# 解答
# 42,67,68,67,32,105,115,32,116,104,101,32,116,114,97,100,101,109,97,114,107,32,111,102,32,116,104,101,32,67,111,110,116,114,111,108,32,68,97,116,97,32,67,111,114,112,111,114,97,116,105,111,110,46,
了解規則後,撰寫下方程式碼,先將輸入的密碼使用 ord 轉換成 ASCII code,減去 7 之後再使用 chr 轉回 unicode,就能解碼出整卻的文字。
a = list(input())
for i in a:
print(f'{chr(ord(i)-7)}',end='')
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~