練習五十六:for迴圈
阿新 • • 發佈:2018-12-27
某個公司採用公用電話傳遞資料,資料是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上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 6for 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 = [] 4list1.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): 16stdout.write(str(list1[i])) 17 out_tru(1234)
執行結果:9876