题目
思路
获取每个字符的ascii值,溢出了就加减26
我的代码
def to_encrypt(text, delta):
#只有小写字母和空格字符串无法修改,转成list
text_list = list(text)
index = 0
char_value = 0
while index < len(text_list):
if text_list[index] == ' ':
index += 1
continue
else:
char_value = ord(text_list[index]) + delta
if char_value > ord('z'):
char_value -= 26
elif char_value < ord('a'):
char_value += 26
text_list[index] = chr(char_value)
index += 1
text = ''.join(text_list)
return text
if __name__ == '__main__':
print("Example:")
print(to_encrypt('abc', 10))
#These "asserts" using only for self-checking and not necessary for auto-testing
assert to_encrypt("a b c", 3) == "d e f"
assert to_encrypt("a b c", -3) == "x y z"
assert to_encrypt("simple text", 16) == "iycfbu junj"
assert to_encrypt("important text", 10) == "swzybdkxd dohd"
assert to_encrypt("state secret", -13) == "fgngr frperg"
print("Coding complete? Click 'Check' to earn cool rewards!")