练习五十六:for循环

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换

方法一:

  1 def out_tru(num):
  2     list1 = list(str(num)) #将传进来的num转换为list
  3     for i in range(len(list1)): #对list的每项取整+5
  4         list1[i] = int(list1[i])+5
  5         list1[i] = list1[i]%10  #对list和值取余数 ,并将取余数后的值付给num
  6     for j in range(2):
  7         temp = list1[j]
  8         list1[j]=str(list1[3-j])
  9         list1[3-j]=str(temp)
 10     num_new = int(''.join(list1))#将list转换为int,赋值给num_new
 11     return num_new
 12 out_tru(1234)

方法二:

  1 from sys import stdout
  2 def out_tru(num):
  3     list1 = []
  4     list1.append(num//1000)
  5     list1.append(num//100%10)
  6     list1.append(num//10%10)
  7     list1.append(num%10)
  8 
  9     for i in range(len(list1)):
 10         list1[i] += 5
 11         list1[i] %= 10
 12     for j in range(2):
 13         list1[j],list1[3-j] = list1[3-j],list1[j]
 14 
 15     for i in range(4):
 16         stdout.write(str(list1[i]))
 17 out_tru(1234)

执行结果:9876

posted @ 2018-12-27 22:23  阳光宝贝-沐沐  阅读(157)  评论(0编辑  收藏  举报