利用自定义函数,实现如下功能 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的 加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字, 再将第一位和第四位交换,第二位和第三位交换 编写一个函数,传入原文,输出密文
时间: 2024-06-03 14:09:16 浏览: 9
def encrypt(num):
# 将每位数字加上5并取余
num1 = (num//1000+5) % 10
num2 = ((num//100)%10+5) % 10
num3 = ((num//10)%10+5) % 10
num4 = ((num%10)+5) % 10
# 交换第一位和第四位,第二位和第三位
encrypted_num = num4 * 1000 + num3 * 100 + num2 * 10 + num1
return encrypted_num
num = 1234
encrypted_num = encrypt(num)
print("原文:", num)
print("密文:", encrypted_num)
相关问题
生成代码:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
好的,您的问题是某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则是每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。那么针对这个问题,我来给您生成一段Python代码,实现数据加密和解密的功能:
```python
def encrypt(num):
# 将数字转为字符串,然后转为列表,方便后续操作
num_list = list(str(num))
# 对每一位数字加上5,然后用和除以10的余数代替该数字
for i in range(len(num_list)):
num_list[i] = (int(num_list[i]) + 5) % 10
# 将第一位和第四位交换,第二位和第三位交换
num_list[0], num_list[3] = num_list[3], num_list[0]
num_list[1], num_list[2] = num_list[2], num_list[1]
# 将加密后的数字转为整数并返回
return int(''.join(map(str, num_list)))
def decrypt(num):
# 将数字转为字符串,然后转为列表,方便后续操作
num_list = list(str(num))
# 将加密后的数字转为原始数字
num_list[0], num_list[3] = num_list[3], num_list[0]
num_list[1], num_list[2] = num_list[2], num_list[1]
# 对每一位数字减去5,然后如果小于0,加上10,得到原始数字
for i in range(len(num_list)):
num_list[i] = (int(num_list[i]) - 5) % 10
# 将原始数字转为整数并返回
return int(''.join(map(str, num_list)))
```
您可以调用 `encrypt(num)` 函数对数据进行加密,调用 `decrypt(num)` 函数对数据进行解密。如有需要,您可以将其中的变量名和注释进行适当修改。
用js函数实现:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的 加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换, 第二位和第三位交换,请编写一个函数,传入原文,输出密文。
以下是用 JavaScript 实现的函数:
function encryptData(data) {
// 将数据转换为字符串并拆分成数组
var digits = data.toString().split('');
// 对每个数字进行加密
for (var i = 0; i < digits.length; i++) {
digits[i] = (parseInt(digits[i]) + 5) % 10;
}
// 交换第一位和第四位,第二位和第三位
var temp = digits[0];
digits[0] = digits[3];
digits[3] = temp;
temp = digits[1];
digits[1] = digits[2];
digits[2] = temp;
// 将加密后的数字拼接成字符串并返回
return digits.join('');
}
例如,如果传入的原文是 1234,那么输出的密文就是 9876。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)