python ascii编码 的一些操作

今天在网上做了一道题,大意是a转换成c,b转换成d的加密方法。

字符串s是经过转换的一串编码,要求转换回原文。

第一步是定义一个方法,通过ascii编码得到相应的char。

def tran(asciiNum):
	if asciiNum == 121 or asciiNum == 122:
		return asciiNum-24
		# (121和122是y和z两个字母,需要向前转换)
	elif asciiNum<121 and asciiNum>=97:
		return asciiNum+2
		# 这里仅针对小写字母,将小写字母向后转换两位
	else:
		return asciiNum
		# 其他不转换
第二步是根据字母,得到的ascii编码

直接使用 ord(char)方法就可以了。

第三步 根据ascii编码,得到字母

直接使用chr(num)方法就可以了。

第四步 进行转换:

def my_print():
	s = raw_input("--->")
	# 将密文输入
	l = len(s)
	# 得到长度
	for x in xrange(0,l):
		print chr(tran(ord(s[x]))),
		# 打印出解密后的字符
	my_print()
完整代码:

# every  letter means letter index + 2
def tran(asciiNum):
	if asciiNum == 121 or asciiNum == 122:
		return asciiNum-24
		# (121和122是y和z两个字母,需要向前转换)
	elif asciiNum<121 and asciiNum>=97:
		return asciiNum+2
		# 这里仅针对小写字母,将小写字母向后转换两位
	else:
		return asciiNum
		# 其他不转换
def my_print():
	s = raw_input("--->")
	# 将密文输入
	l = len(s)
	# 得到长度
	for x in xrange(0,l):
		print chr(tran(ord(s[x]))),
		# 打印出解密后的字符
	my_print()
my_print()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值