python 编写一个函数encryption()用来给一个字符串密码进行加密,对应关系为:对于明文字符p,如果p不是大小写字母则照常输出,如果是大小写字母,则其对应的密文字符为c=(p+5)%26,例如a->f,b->g,x->c,y->d
时间: 2024-02-22 20:56:30 浏览: 15
好的,下面是实现encryption()函数的代码:
```python
def encryption(s):
res = ""
for c in s:
if c.isalpha():
if c.islower():
res += chr((ord(c) - 97 + 5) % 26 + 97)
else:
res += chr((ord(c) - 65 + 5) % 26 + 65)
else:
res += c
return res
```
这个函数接受一个字符串作为参数,遍历字符串中的每个字符,如果是字母,则按照要求进行加密,否则直接输出。对于大小写字母,使用ord()函数将其转换为ASCII码,进行加密计算后再使用chr()函数将其转换回字符。最后将加密后的字符拼接成一个新的字符串并返回。
相关问题
python编写一个函数encryption()用来给一个字符串密码进行加密,对应关系为:对于明文字符p,如果p不是大小写字母则照常输出,如果是大小写字母,则其对应的密文字符为c=(p+5)%26
可以参考以下代码实现:
```python
def encryption(s):
res = ''
for c in s:
if c.isalpha():
if c.isupper():
res += chr((ord(c) - ord('A') + 5) % 26 + ord('A'))
else:
res += chr((ord(c) - ord('a') + 5) % 26 + ord('a'))
else:
res += c
return res
print(encryption("Hello, World!")) # 输出 "Mjqqt, Btwqi!"
```
输出结果为:
```
Mjqqt, Btwqi!
```
字符替换加密: 编写一个函数`encrypt`,使用字典 `a: m, b: n, ... z: l}` 的对应规则加密字符串`s3 = "encryption"`。
在Python中,我们可以创建一个名为`encrypt`的函数,它接受一个字符串作为输入,并使用给定的字母映射进行替换加密。这里是一个简单的实现示例:
```python
def encrypt(s, mapping):
encrypted_text = ""
for char in s:
if char.isalpha():
# 将小写字母转换为大写并查找映射
mapped_char = mapping.get(char.upper(), char)
encrypted_text += mapped_char
else:
# 非字母字符保持不变
encrypted_text += char
return encrypted_text
# 定义字母映射
mapping = {'A': 'M', 'B': 'N', 'Z': 'L', 'a': 'm', 'b': 'n', 'z': 'l', ' ': ''} # 空格忽略
s3 = "encryption"
encrypted_s3 = encrypt(s3, mapping)
print("Encrypted:", encrypted_s3)
```
在这个例子中,我们假设所有输入都是小写字母,并忽略了空格。如果你需要考虑其他情况,比如混合大小写或者保留空格等,可以在`mapping`字典中相应地添加更多规则。
阅读全文