#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os

def encryption():
str_raw = raw_input("请输入明文:")
k = int(raw_input("请输入位移值:"))
str_change = str_raw.lower()
str_list = list(str_change)
str_list_encry = str_list
i = 0
while i < len(str_list):
if ord(str_list[i]) < 123-k:
str_list_encry[i] = chr(ord(str_list[i]) + k)
else:
str_list_encry[i] = chr(ord(str_list[i]) + k - 26)
i = i+1
print ("加密结果为:"+"".join(str_list_encry))

def decryption():
str_raw = raw_input("请输入密文:")
k = int(raw_input("请输入位移值:"))
str_change = str_raw.lower()
str_list = list(str_change)
str_list_decry = str_list
i = 0
while i < len(str_list):
if ord(str_list[i]) >= 97+k:
str_list_decry[i] = chr(ord(str_list[i]) - k)
else:
str_list_decry[i] = chr(ord(str_list[i]) + 26 - k)
i = i+1
print ("解密结果为:"+"".join(str_list_decry))

while True:
print (u"1. 加密")
print (u"2. 解密")
choice = raw_input("请选择:")
if choice == "1":
encryption()
elif choice == "2":
decryption()
else:
print (u"您的输入有误!")

最新文章

  1. Linux CentOS安装postgresql 9.4
  2. button事件驱动
  3. overlay-2
  4. go语言示例-Timer计时器的用法
  5. 【Qt】命令行编译Qt程序(nmake)【转】
  6. POJ 3259 Wormholes(最短路,判断有没有负环回路)
  7. MVC中不能使用原生态的#include ,可替代的解决方案
  8. datatable1.9 与datatable1.10以数据差异
  9. Python----简单线性回归
  10. 《Miracle-House团队》第二次作业:西小餐项目开题报告
  11. restfull环境搭建-helloword
  12. JavaScript学习 - 基础(六) - DOM基础操作
  13. Active MQ的初步探索
  14. 003 python流程控制与函数
  15. polymer-developer guide-registration and lifecycle
  16. 十一、信号量控制Semaphore
  17. 布隆过滤器(Bloom Filter)简要介绍
  18. Java 创建线程的方式
  19. (四)Lucene——搜索和相关度排序
  20. 人生苦短之我用Python篇(基础)

热门文章

  1. 浅谈Ionic2
  2. Qt for android运行时出错 Error: Target id &#39;android--1&#39; is not valid
  3. selenium(python)用HTMLTestRunner导出报告(断言)信息的显示
  4. [转] 设置linux时间为网络时间
  5. jquery-ui Datepicker 创建 销毁
  6. CentOS7 firewalld打开关闭防火墙 开放端口
  7. 利用JS获取本地时间和服务器时间
  8. java多线程-cas及atomic
  9. oracle mysql的序列的新增、删除、修改及使用
  10. SQL数据库正在恢复 查看进度