python编写一个函数encryption()用来给一个字符串密码进行加密,对应关系为:对于明文字符p,如果p不是大小写字母则照常输出,如果是大小写字母,则其对应的密文字符为c=(p+5)%26
时间: 2024-02-11 16:10:03 浏览: 40
可以参考以下代码实现:
```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!
```
相关问题
python 编写一个函数encryption()用来给一个字符串密码进行加密,对应关系为:对于明文字符p,如果p不是大小写字母则照常输出,如果是大小写字母,则其对应的密文字符为c=(p+5)%26,例如a->f,b->g,x->c,y->d
好的,那我来为你编写这个函数。代码如下:
```python
def encryption(s):
res = ""
for c in s:
if not c.isalpha(): # 如果不是字母,则原样输出
res += c
else:
ascii_code = ord(c) # 将字符转换为 ASCII 码
if ascii_code >= 65 and ascii_code <= 90: # 大写字母
res += chr((ascii_code - 65 + 5) % 26 + 65) # 转换为密文字符并拼接到结果字符串中
elif ascii_code >= 97 and ascii_code <= 122: # 小写字母
res += chr((ascii_code - 97 + 5) % 26 + 97) # 转换为密文字符并拼接到结果字符串中
return res
```
这个函数接受一个字符串参数 `s`,并返回加密后的字符串。对于字符串中的每个字符,如果不是字母,则将其原样输出;如果是字母,则将其转换为密文字符并拼接到结果字符串中。具体的转换规则参考题目描述。
字符替换加密: 编写一个函数`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`字典中相应地添加更多规则。
阅读全文