Caesar Cipher
質問する
コード#コード#
def caesarCipher(s, k):
c = ""
for i in s:
if i.islower():
c += chr((ord(i)-97+k)%26+97)
elif i.isupper():
c += chr((ord(i)-65+k)%26+65)
else:
c+=i
return c
問題を解く
> c += chr((ord(i)-97+k)%26+97)
1.ord()関数を使用して、最初のインデックス文字を10進数ASKIDコードに変換します.
2.x->a、y->b、z->cの反例を考える.
小文字-97大文字-65と問題で与えられたkを+とし、結果を26の残りの部分に求め、小文字と大文字を加算します.
ソース
https://www.hackerrank.com/challenges/one-month-preparation-kit-caesar-cipher-1/problem?h_l=interview&isFullScreen=false&playlist_slugs%5B%5D=preparation-kits&playlist_slugs%5B%5D=one-month-preparation-kit&playlist_slugs%5B%5D=one-month-week-two
Reference
この問題について(Caesar Cipher), 我々は、より多くの情報をここで見つけました https://velog.io/@dogit/Caesar-Cipherテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol