设计一个函数,实现输入一个五位数的正整数(程序要对输入数据的合法性进行检查),对输入的数据加密后再返回,加密规则:每位数字都加上 7,然后用 10 取模,再将得到的结果交换顺序:第一位和第二位交换,第三位和第五位交换
时间: 2024-11-15 18:27:30 浏览: 0
设计这样一个函数可以分为以下几个步骤:
```python
def encrypt_number(input_num):
# 验证输入是否为五位正整数
if not isinstance(input_num, int) or len(str(input_num)) != 5 or input_num < 10000 or input_num > 99999:
return "输入无效,请输入一个五位正整数"
# 对每位数字加密并取模
encrypted_digits = [((digit + 7) % 10) for digit in str(input_num)]
# 交换第一位和第二位,第三位和第五位
encrypted_digits[0], encrypted_digits[1] = encrypted_digits[1], encrypted_digits[0]
encrypted_digits[2], encrypted_digits[3] = encrypted_digits[3], encrypted_digits[2]
# 将加密后的数字列表转换回整数并返回
return int(''.join(map(str, encrypted_digits)))
# 示例使用
input_to_encrypt = 12345
encrypted_result = encrypt_number(input_to_encrypt)
print(f"原始输入 {input_to_encrypt} 加密后为: {encrypted_result}")
```
阅读全文