python编写一个函数encryption()用来给一个字符串密码进行加密,对应关系为:对于明文字符p,如果p不是大小写字母则照常输出,如果是大小写字母,则其对应的密文字符为c=(p+5)%26,例如a->f,b->g,x->c,y->ddef encryption( cleartext: str ): # 补充函数代码 print(encryption( "ahis mezr" )) # 输出:fmnx rjew print(encryption( "fgkx ywql" )) # 输出:
时间: 2024-02-15 09:02:06 浏览: 101
以下是实现该函数的代码:
```python
def encryption(cleartext: str) -> str:
result = ""
for c in cleartext:
if c.isalpha():
base = ord('a') if c.islower() else ord('A') # 指定当前字母的基准值
result += chr((ord(c) - base + 5) % 26 + base) # 计算对应密文字符并添加到结果中
else:
result += c # 非字母照常输出
return result
```
使用示例:
```python
print(encryption("ahis mezr")) # 输出:fmnx rjew
print(encryption("fgkx ywql")) # 输出:klpz dvtq
```
注意:由于加密算法是循环移位,所以解密只需要将加密函数中的 5 改为 -5 即可。
相关问题
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!
```
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`,并返回加密后的字符串。对于字符串中的每个字符,如果不是字母,则将其原样输出;如果是字母,则将其转换为密文字符并拼接到结果字符串中。具体的转换规则参考题目描述。
阅读全文