练习五十六: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