import string
letter = string.ascii_letters
mark = string.punctuation
def main():
while True:
print("输入数字1为凯撒加密,输入数字2为凯撒解密,输入0退出!")
choice = int(input('请输入相应数值:'))
if choice == 1:
kaisa_jiami()
elif choice == 2:
kaisa_jiemi()
elif choice == 0:
break
else:
print('请输入正确的数值!')
continue
def kaisa_jiami():
k = int(input('请输入一个整数密匙:'))
a = input('请输入要加密的字符串:')
list = []
for i in range(len(a)):
if a[i] in letter:
b = 97 + ((ord(a[i])-97 + k)%26)
b = chr(b)
elif a[i] in mark:
b = a[i]
else:
b = a[i]
list.append(b)
print('加密后的密码:{}'.format(''.join(list)))
def kaisa_jiemi():
k = int(input('请输入一个整数密匙:'))
a = input('请输入要解密的字符串:')
list = []
for i in range(len(a)):
if a[i] in letter:
b = 97 + ((ord(a[i])-97 - k)%26)
b = chr(b)
elif a[i] in mark:
b = a[i]
else:
b = a[i]
list.append(b)
print('解密后的密码:{}'.format(''.join(list)))
if __name__ == '__main__':
main()
|