Python 练习实例89
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
程序分析:无。
程序源代码:
实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from sys import stdout
if __name__ == '__main__':
a = int(raw_input('输入四个数字:\n'))
aa = []
aa.append(a % 10)
aa.append(a % 100 / 10)
aa.append(a % 1000 / 100)
aa.append(a / 1000)
for i in range(4):
aa[i] += 5
aa[i] %= 10
for i in range(2):
aa[i],aa[3 - i] = aa[3 - i],aa[i]
for i in range(3,-1,-1):
stdout.write(str(aa[i]))
以上实例输出结果为:
输入四个数字: 1234 9876
Python 100例
叮咚
A12***59648Z@qq.com
参考方案:
#!/usr/bin/python # -*- coding: UTF-8 -*- n=raw_input() n = str(n) a=[] for i in range(4): a.append(int(n[i])+5) a[0],a[3]=a[3],a[0] a[1],a[2]=a[2],a[1] print "".join('%s' %s for s in a)叮咚
A12***59648Z@qq.com
朦胧
253***5732@qq.com
参考方法:
# coding:utf-8 num=int(input("请输入一个四位整数:")) num=str(num) List=[] for i in range(0,len(num)): a=(int(num[i])+5)%10 List.append(a) List[0],List[3]=List[3],List[0] List[1],List[2]=List[2],List[1] print(List[0]*1000+List[1]*100+List[2]*10+List[3])朦胧
253***5732@qq.com
轮子着火了
yun***1088@126.com
参考方法:
#!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == '__main__': a = str(raw_input('输入一个要加密的四位数字:')) L = [] for i in range(len(a)): L.append(a[i]) for i in range(len(L)): L[i] = (int(L[i]) + 5) % 10 L.reverse() print L轮子着火了
yun***1088@126.com
helloworld
hel***orld@qq.com
参考方法:
#!/usr/bin/python # -*- coding: UTF-8 -*- def encode(num): s = str(num) n = "" for i in range(len(s)): n += str((int(s[i]) + 5) % 10) return int(n[::-1]) print(encode(1234))helloworld
hel***orld@qq.com
haha
943***924@qq.com
参考方法:
#!/usr/bin/python # -*- coding: UTF-8 -*- def codeZip(var): if len(str(var))!= 4: return 'error' a = (var%10+5)%10 b = (var/10%10+5)%10 c = (var/100%10+5)%10 d = (var/1000+5)%10 return d+c*10+b*100+a*1000 print codeZip(1234)haha
943***924@qq.com
墨雨
lzn***@163.com
Python2.x 与 Python3.x 测试实例:
def example89(): val=[12,43,13,45] newval=[(i+5)%10 for i in val] l=len(newval) for i in range(0,l//2): newval[i],newval[l-i-1]=newval[l-i-1],newval[i] print(newval) example89()墨雨
lzn***@163.com
木叶苍蓝
153***6060@qq.com
# -*- coding: UTF-8 -*- a = str(raw_input("输入四个数字:\n")) c = "" for i in range(4): b = int(a[i:i+1:1]) b += 5 b %= 10 b = str(b) c = b + c print c木叶苍蓝
153***6060@qq.com
shizi
ris***60425@gmail.com
参考方法:
# coding:utf-8 s = reversed('1234') l = [] for idx, i in enumerate(s): l.append((int(i) + 5) % 10) print (''.join(str(i) for i in l))shizi
ris***60425@gmail.com
凉城的夜
415***617@qq.com
参考方法:
# coding:utf-8 def func(): n = str(raw_input("请输入四位整数")) a = str((int(n[:1])+5)%10) b = str((int(n[1:2])+5)%10) c = str((int(n[2:3])+5)%10) d = str((int(n[3:4])+5)%10) number = d+c+b+a print number func()凉城的夜
415***617@qq.com
kamiya
mec***hui@sina.com
解码与编码:
#!/usr/bin/python # -*- coding: UTF-8 -*- def encode(strm): strn = list(strm) lens = len(strn) for i in range(lens): j = int(strn[i])-int('0')+5 j %= 10 strn[i] = j for i in range(lens/2+1): strn[i],strn[lens-1-i] = strn[lens-1-i], strn[i] strdata = '' for i in range(lens): strdata += str(strn[i]) return strdata def decode(strm): strn = list(strm) lens = len(strn) for i in range(lens/2+1): strn[i],strn[lens-1-i] = strn[lens-1-i], strn[i] for i in range(lens): j = int(strn[i])- int('0') + 10 j -= 5 j %= 10 strn[i] = str(j) strdata = '' for i in range(lens): strdata += str(strn[i]) return strdata if __name__ == '__main__': strn = '9485333' print 'transfer data:', strn stren = encode(strn) print stren strde = decode(stren) print strdekamiya
mec***hui@sina.com