python加密字符串小写字母循环后错两位_python学习:实现将字符串进行加密

'''

题目描述

1、对输入的字符串进行加解密,并输出。

2加密方法为:

当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;

当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;

其他字符不做变化。s

'''

# -*- coding: utf-8 -*-

import re

#判断是否是字母

def isLetter(letter):

if len(letter) != 1:

return 0

else:

num_re = '[a-z]|[A-Z]'

pattern = re.compile(num_re)

result = re.match(pattern, letter)

if result == None:

return 0

else:

return 1

#判断字母是否是小写字母:

def isLower(letter):

if letter.lower()==letter:

return 1

else:

return 0

#判断字母是否是Z/z

def isZ(letter):

if letter.lower()=='z':

return 1

else:

return 0

#对英文字母进行加密

def encryLetter(letter):

if isZ(letter)=='z':

if isLower(letter)==1:

return 'A'

else:

return 'a'

else:

if isLower(letter)==1:

return chr(ord(letter)+1-32)

else:

return chr((ord(letter))+1+32)

#对数字进行加密

def encryNum(num):

if num==9:

return 0

else :

return int(num)+1

# 判断是否为数字:

def isNum(var):

if len(var) != 1:

return 0

else:

num_re = '[0-9]'

pattern = re.compile(num_re)

result = re.match(pattern, var)

if result == None:

return 0

else:

return 1

#对一个字符进行加密

def Encrypt_single(character):

if isLetter(character)==1:

return encryLetter(character)

if isNum(character)==1:

return encryNum(character)

else:

return character

'''

接口描述:

实现接口,每个接口实现1个基本操作:

void Encrypt (char aucPassword[], char aucResult[]):在该函数中实现字符串加密并输出

说明:

1、字符串以\0结尾。

2、字符串最长100个字符。

'''

def Encrypt():

while 1:

unEncrypt = input('请输入要加密的字符串,并且字符串长度不大于8:')

if len(unEncrypt)>8:

print("字符串长度大于8,请重新输入!\n")

continue

else:

break

Encrypt_str=[]

for i in range(len(unEncrypt)):

Encrypt_str.append(Encrypt_single(unEncrypt[i]))

print(Encrypt_str)

Encrypt()

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值