对输入的字符串进行加解密,并输出。
加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
解密方法为加密的逆过程。
数据范围:输入的两个字符串长度满足 ,保证输入的字符串都是只由大小写字母或者数字组成
对输入的字符串进行加解密,并输出。
加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
第一行输入一串要加密的密码
第二行输入一串加过密的密码
第一行输出加密后的字符
第二行输出解密后的字符
abcdefg BCDEFGH
BCDEFGH abcdefg
def en_secret(secret: str): list_out = [] for s in secret: if s.isdigit(): if s == '9': list_out.append('0') else: list_out.append(str(int(s) + 1)) else: if s.upper() == 'Z': list_out.append('a' if s.isupper() else 'A') else: next_lower = chr(ord(s.lower()) + 1) list_out.append(next_lower if s.isupper() else next_lower.upper()) return ''.join(list_out) def de_secret(secret: str): list_out = [] for s in secret: if s.isdigit(): if s == '0': list_out.append('9') else: list_out.append(str(int(s) - 1)) else: if s.upper() == 'A': list_out.append('z' if s.isupper() else 'Z') else: before_lower = chr(ord(s.lower()) - 1) list_out.append(before_lower if s.isupper() else before_lower.upper()) return ''.join(list_out) print(en_secret(input())) print(de_secret(input()))
def Encryption(item): new_str = "" for i in item: if str(i).isalpha(): if i == "z": new_str = new_str + "A" elif i == "Z": new_str = new_str + "a" else: new_str = new_str + chr(ord(i) + 1).swapcase() elif i.isnumeric(): if i == "9": new_str = new_str + "0" else: new_str = new_str + str(int(i) + 1) else: pass return new_str def Decrypt(item): new_str = "" for i in item: if str(i).isalpha(): if i == "a": new_str = new_str + "Z" elif i == "A": new_str = new_str + "z" else: new_str = new_str + chr(ord(i) - 1).swapcase() elif i.isnumeric(): if i == "0": new_str = new_str + "9" else: new_str = new_str + str(int(i) - 1) else: pass return new_str if __name__ == "__main__": s1 = input() s2 = input() print(Encryption(s1)) print(Decrypt(s2))
alp_u = "ABCDEFGHIJKLMNOPQRSTUVWXYZA" alp_l = "abcdefghijklmnopqrstuvwxyza" num_l = "01234567890" # 编码函数 def code(s1: str): s1_d = "" for i in s1: if i in alp_u: s1_d += alp_l[alp_u.index(i) + 1] elif i in alp_l: s1_d += alp_u[alp_l.index(i) + 1] elif i in num_l: s1_d += num_l[num_l.index(i) + 1] return s1_d # 解码函数 def decode(s2: str): s2_c = "" for i in s2: if i in alp_u: if i == "A": s2_c += "z" else: s2_c += alp_l[alp_u.index(i) - 1] if i in alp_l: if i == "a": s2_c += "Z" else: s2_c += alp_u[alp_l.index(i) - 1] if i in num_l: if i == '0': s2_c += '9' else: s2_c += num_l[num_l.index(i) - 1] return s2_c print(code(input())) print(decode(input()))
比不上大佬们的映射做法,用了ascii码 def encrypt(pw): pw_new = '' for i in pw: a = ord(i) if a in range(48,57): pw_new += chr(a+1) elif a == 57: pw_new += chr(48) elif a in range(65,90): pw_new += chr(a+1).lower() elif a == 90: pw_new += chr(65).lower() elif a in range(97,122): pw_new += chr(a+1).upper() else: pw_new += chr(97).upper() return pw_new def decrypt(pw): pw_new = '' for i in pw: a = ord(i) if a in range(49,58): pw_new += chr(a-1) elif a == 48: pw_new += chr(57) elif a in range(66,91): pw_new += chr(a-1).lower() elif a == 65: pw_new += chr(90).lower() elif a in range(98,123): pw_new += chr(a-1).upper() else: pw_new += chr(122).upper() return pw_new while True: try: print(encrypt(input())) print(decrypt(input())) except: break
from string import ascii_lowercase,ascii_uppercase,digits def encrypt(s): res = '' for c in s: if c in ascii_lowercase: index = ascii_lowercase.index(c) res += ascii_uppercase[(index+1)%26] elif c in ascii_uppercase: index = ascii_uppercase.index(c) res += ascii_lowercase[(index+1)%26] else: res += str((int(c)+1)%10) return res def decrypt(s): res = '' for c in s: if c in ascii_lowercase: index = ascii_lowercase.index(c) res += ascii_uppercase[(index-1)%26] elif c in ascii_uppercase: index = ascii_uppercase.index(c) res += ascii_lowercase[(index-1)%26] else: res += str((int(c)-1)%10) return res s1=input() s2=input() print(encrypt(s1)) print(decrypt(s2))
import sys import string def encrypt(s): encrypted = "" for char in s: if char.isalpha(): if char.islower(): encrypted += chr((ord(char) - ord("a") + 1) % 26 + ord("A")) else: encrypted += chr((ord(char) - ord("A") + 1) % 26 + ord("a")) elif char.isdigit(): encrypted += str((int(char) + 1) % 10) else: encrypted += char return encrypted def decrypt(s): decrypted = "" for char in s: if char.isalpha(): if char.islower(): decrypted += chr((ord(char) - ord("a") - 1) % 26 + ord("A")) else: decrypted += chr((ord(char) - ord("A") - 1) % 26 + ord("a")) elif char.isdigit(): decrypted += str((int(char) - 1) % 10) else: decrypted += char return decrypted # 输入要加密的密码 password = input() # 加密密码 encrypted_password = encrypt(password) print(encrypted_password) # 输入加密过的密码 encrypted_input = input() # 解密密码 decrypted_password = decrypt(encrypted_input) print(decrypted_password)
对于输入字符串s中的每个字符char,我们按照以下规则进行加密:
对于输入字符串s中的每个字符char,我们按照以下规则进行解密:
最后,将解密后的字符拼接到decrypted字符串中,并返回最终的解密结果。
def en(input_str): res_str = '' for i in input_str: if i.islower(): if i == 'z': i = 'A' else: i = chr(ord(i) - 32 + 1) elif i.isupper(): if i == 'Z': i = 'a' else: i = chr(ord(i) + 32 + 1) elif i.isdigit(): if i == '9': i = '0' else: i = str(int(i) + 1) res_str += i return res_str def de(input_str): res_str = '' for i in input_str: if i.islower(): if i == 'a': i = 'Z' else: i = chr(ord(i) - 32 - 1) elif i.isupper(): if i == 'A': i = 'z' else: i = chr(ord(i) + 32 - 1) elif i.isdigit(): if i == '0': i = '9' else: i = str(int(i) - 1) res_str += i return res_str input_str1,input_str2 = input(), input() print(en(input_str1)) print(de(input_str2))
import sys s1 = input().strip() s2 = input().strip() # 加密 def jiami(s): res = "" for i in s: if i.isupper() : # 如果是大写 if i == 'Z': res+= 'a' else: res+= chr(ord(i)+32+1) elif i.islower(): # 如果是小写 if i == 'z': res+='A' else: res+=chr(ord(i)-32+1) elif i.isdigit(): if int(i) == 9: res+='0' else: res += str(int(i)+1) return res # 解密 def jiemi(s): res = "" for i in s: if i.isupper() : # 如果是大写 if i == 'A': res+= 'z' else: res+= chr(ord(i)+32-1) elif i.islower(): # 如果是小写 if i == 'a': res+='Z' else: res+=chr(ord(i)-32-1) elif i.isdigit(): # 如果是数字 if int(i) == 0: res+='9' else: res += str(int(i)-1) return res print(jiami(s1)) print(jiemi(s2))
jige = list(input()) nige = list() heizi = list(input()) kunkun = list() i = 0 for i in range(i,len(jige)): if jige[i].islower(): if jige[i] == 'z': nige.insert(i, 'A') else: nige.insert(i, chr(ord(jige[i])-31)) elif jige[i].isupper(): if jige[i] == 'Z': nige.insert(i, 'a') else: nige.insert(i, chr(ord(jige[i])+33)) elif jige[i].isdigit(): if int(jige[i]) == 9: nige.insert(i,'0') else: nige.insert(i,chr(ord(jige[i]) + 1)) else: nige.insert(i,jige[i]) print(''.join(nige)) i = 0 for i in range(i,len(heizi)): if heizi[i].islower(): if heizi[i] == 'a': kunkun.insert(i, 'Z') else: kunkun.insert(i, chr(ord(heizi[i])-33)) elif heizi[i].isupper(): if heizi[i] == 'A': kunkun.insert(i, 'z') else: kunkun.insert(i, chr(ord(heizi[i])+31)) elif heizi[i].isdigit(): if int(heizi[i]) == 0: kunkun.insert(i,'9') else: kunkun.insert(i,chr(ord(heizi[i]) - 1)) else: kunkun.insert(i,heizi[i]) print(''.join(kunkun))
def encrypt(text:str)->str: res='' for i in text: if i=='Z': res+='a' continue if i=='z': res+='A' continue if i=='9': res+='0' continue if 65<=ord(i)<90: res+=chr(ord(i)+33) continue if 97<=ord(i)<122: res+=chr(ord(i)-31) continue if 48<=ord(i)<57: res+=chr(ord(i)+1) return res def decrypt(text:str)->str: res='' for i in text: if i=='a': res+='Z' continue if i=='A': res+='z' continue if i=='0': res+='9' continue if 65<ord(i)<=90: res+=chr(ord(i)+31) continue if 97<ord(i)<=122: res+=chr(ord(i)-33) continue if 48<ord(i)<=57: res+=chr(ord(i)-1) return res pw1=input() pw2=input() print(encrypt(pw1)) print(decrypt(pw2))
import sys input_list = [] def encryption(x:str) -> str: y = '' for s in x: if s.isupper() == True and s != 'Z': s = chr(ord(s) + 33) elif s.islower() == True and s != 'z': s = chr(ord(s) - 31) elif s.isdigit() == True and s != '9': s = str(int(s) + 1) elif s == '9': s = '0' elif s == 'Z': s = 'a' elif s == 'z': s = 'A' y = y + s return y def decryption(x:str) -> str: y = '' for s in x: if s.isupper() == True and s != 'A': s = chr(ord(s) + 31) elif s.islower() == True and s != 'a': s = chr(ord(s) - 33) elif s.isdigit() == True and s != '0': s = str(int(s) - 1) elif s == '0': s = '9' elif s == 'A': s = 'z' elif s == 'a': s = 'Z' y = y + s return y if __name__ == '__main__': for line in sys.stdin: a = line.split() input_list.append(a[0]) output_1 = encryption(input_list[0]) output_2 = decryption(input_list[1]) print(output_1, end='\n') print(output_2)
def trans(s, key, val): dic = dict(zip(key, val)) return ''.join(dic[i] for i in s) key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" val = "bcdefghijklmnopqrstuvwxyzaBCDEFGHIJKLMNOPQRSTUVWXYZA1234567890" print(trans(input(), key, val)) print(trans(input(), val, key))
import string def pwd_jia(us_pwd: str): jia_pwd = "" for item in us_pwd: if item.islower(): _idx = string.ascii_uppercase.index(item.upper()) + 1 _s = string.ascii_uppercase[0 if _idx > 26 else _idx] elif item.isupper(): _idx = string.ascii_lowercase.index(item.lower()) + 1 _s = string.ascii_lowercase[0 if _idx > 26 else _idx] elif item.isdigit(): _s = 0 if int(item) > 8 else int(item) + 1 else: _s = item jia_pwd += _s return jia_pwd def pwd_jian(us_pwd: str): jian_pwd = "" for item in us_pwd: if item.islower(): _idx = string.ascii_uppercase.index(item.upper()) - 1 _s = string.ascii_uppercase[26 if _idx < 0 else _idx] elif item.isupper(): _idx = string.ascii_lowercase.index(item.lower()) - 1 _s = string.ascii_lowercase[26 if _idx < 0 else _idx] elif item.isdigit(): _s = 9 if int(item) == 0 else int(item) - 1 else: _s = item jian_pwd += _s return jian_pwd while True: try: print(pwd_jia(input())) print(pwd_jian(input())) except: break