Description
实现一个加密函数,对输入的4位数字进行加密,并输出加密结果。加密规则如下:
- 对每一位数字都利用该数字对应的ASCII编码加上5,然后用除以10的余数代替该数字。
- 将第一位和第四位交换,第二位和第三位交换。
要求程序接收用户输入,如果是4位的整数,则进行加密操作并输出加密结果;如果输入的不是4位整数,则进行用户提示“输入不合法!”。
Format
Input
1234
Output
7654
Samples
输入数据 1
4567
输出数据 1
0987
输入数据 2
输出数据 2
输入不合法!
tips:
利用ord内置函数 可以将想要的数据转换为对应的ASCII码
代码:
try:
# input无论接受什么数据类型都会转换为字符串
num = input()
# 为了防止以0开头的数据出现 需要对输入进来的数据进行两次数据类型转换
if len(str(int(num))) != 4:
print("输入不合法!")
else:
# 定义加密字符串
encryption = ""
for i in num:
# 对合法数据进行挨个处理
encryption += str((ord(i) + 5) % 10)
# 序列的切片操作:-1为步长 理解题意发现即反向输出
print(encryption[::-1])
except:
print("输入不合法!")
纯享版:
try:
num = input()
if len(str(int(num))) != 4:
print("输入不合法!")
else:
encryption = ""
for i in num:
encryption += str((ord(i) + 5) % 10)
print(encryption[::-1])
except:
print("输入不合法!")