exercise005_加密数字

# coding=utf-8
# 输入num为四位数,对其按照如下的规则进行加密:
# 1)每一位分别加5,然后分别将其替换为该数除以10取余后的结果
# 2)将该数的第1位和第4为互换,第二位和第三位互换
# 3)最后合起来作为加密后的整数输出

number = raw_input("please input 4 numbers:")
def num_jiami(num):
    d = []
    for i in str(num):
        d.append(str((int(i) + 5) % 10))
    d.reverse()
    return int(''.join(d))
print num_jiami(number)
please input 4 numbers:4937
2849
1.定义一个函数名字叫num_jiami,只接受一个参数,叫num
2.定义一个空的列表,名字叫d
3.把num的类型从int变为str,然后一个数字一个数字的从左到右读,并放到i变量里去
第一次先读到 '4' (这里的类型是str不是int),然后用int(i)
把他转换为int类型然后加上5,得到的结果再取余,连在一起就是 ( (int(i)+5)%10 ),
然后你就能得到数字9,然后再把它转化为'9'(str类型)为了方便后续处理
第二次,第三次,第4次做同样的处理,然后你得到一个列表d,里面的内容为['9','4','8','2'],然后按要求,我们把顺
序倒过来d就变成['2','8','4','9']。因为你题目要求是要返回一个加密过的数字,所以这里还需要把list类型变为int
类型,所以要用到函数join,join的作用就是为列表中每一个元素中箭添加一个符号并转换为str,比方说: '-'.join(d)
,返回的结果就是 '2-8-4-9',这里就选择用空字符去连接,所以你就能得到一个str类型的数据'2849',然后你用int()
去把它转换成int类型,连起来就是int(''.join(d)),然后把它return出来
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值