SWUST 派森练习题:P49 简单数字加密

Description

实现一个加密函数,对输入的4位数字进行加密,并输出加密结果。加密规则如下:

  1. 对每一位数字都利用该数字对应的ASCII编码加上5,然后用除以10的余数代替该数字。
  2. 将第一位和第四位交换,第二位和第三位交换。

要求程序接收用户输入,如果是4位的整数,则进行加密操作并输出加密结果;如果输入的不是4位整数,则进行用户提示“输入不合法!”。

Format

Input

1234

Output

7654

Samples

输入数据 1

4567

输出数据 1

0987

输入数据 2

输出数据 2

输入不合法!

tips:

python 内置函数ord()和chr()函数用法详解

利用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("输入不合法!")
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值