用Python输出某公司采用公用电话传递数据,数据是 4位的整数,在传递过程中是加密的。加密规则如下:每位数字都加上 5,然后用和除以 10 的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值。
时间: 2024-05-04 16:16:09 浏览: 194
您好!可以使用以下代码来实现您的要求:
```
num = input("请输入一个四位整数:")
num_list = list(num)
# 将每位数字加上 5 并取余
for i in range(4):
num_list[i] = str((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]
# 输出结果
print("加密后的结果为:", "".join(num_list))
```
如果您输入的是 1234,那么程序会输出 9876。
相关问题
设计python程序某公司采用公用电话传递数据,数据是4位整数,在传递过程中是加密的,加密规则如下:每位数字加上5除以10后的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
下面是一个简单的Python程序,可以实现对4位整数进行加密和解密操作:
```python
def encrypt(num):
# 将每一位数字加上5,取余数代替该数字
a = (num // 1000 + 5) % 10
b = ((num // 100) % 10 + 5) % 10
c = ((num // 10) % 10 + 5) % 10
d = (num % 10 + 5) % 10
# 交换第一位和第四位,第二位和第三位
return d * 1000 + c * 100 + b * 10 + a
def decrypt(num):
# 交换第一位和第四位,第二位和第三位
a = num % 10
b = (num // 10) % 10
c = (num // 100) % 10
d = num // 1000
# 将每一位数字减去5,取余数代替该数字
return ((a - 5) % 10) * 1000 + ((b - 5) % 10) * 100 + ((c - 5) % 10) * 10 + ((d - 5) % 10)
```
使用方式如下:
```python
# 加密数据
num = 1234
encrypted_num = encrypt(num)
print(encrypted_num) # 输出:9876
# 解密数据
decrypted_num = decrypt(encrypted_num)
print(decrypted_num) # 输出:1234
```
其中,`encrypt()`函数用于加密数据,`decrypt()`函数用于解密数据。在加密过程中,先将每一位数字加上5并取余数代替原来的数字,然后交换第一位和第四位,第二位和第三位。在解密过程中,先交换第一位和第四位,第二位和第三位,然后将每一位数字减去5并取余数代替原来的数字。
某公司采用公用电话传递数据,数据是4位的整数,在传递过程中是加密的。加密规则如下:每位数字都加上然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值?使用Python实现
加密规则可以通过编写函数来实现,这里提供一个Python函数示例,用于接收四位整数并按照描述中的规则对其进行加密:
```python
def encrypt_data(input_num):
# 将输入的四位整数转换为字符串,便于操作每一位
num_str = str(input_num)
# 加上并取余
encrypted_digits = [((int(char) + i) % 10) for i, char in enumerate(num_str)]
# 交换位置
encrypted_digits[0], encrypted_digits[-1] = encrypted_digits[-1], encrypted_digits[0]
encrypted_digits[1], encrypted_digits[2] = encrypted_digits[2], encrypted_digits[1]
# 将加密后的数字列表转换回整数
encrypted_int = int(''.join(map(str, encrypted_digits)))
return encrypted_int
# 测试加密功能
input_data = 1234
encrypted_value = encrypt_data(input_data)
print(f"原始输入 {input_data} 加密后的值为:{encrypted_value}")
阅读全文
相关推荐














