Python 练习实例89
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
程序分析:无。
程序源代码:
实例
以上实例输出结果为:
输入四个数字: 1234 9876
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
程序分析:无。
程序源代码:
以上实例输出结果为:
输入四个数字: 1234 9876
叮咚
A12***[email protected]
参考方案:
#!/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***[email protected]
朦胧
253***[email protected]
参考方法:
# 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***[email protected]
轮子着火了
yun***[email protected]
参考方法:
#!/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***[email protected]
helloworld
hel***[email protected]
参考方法:
#!/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***[email protected]
haha
943***[email protected]
参考方法:
#!/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***[email protected]
墨雨
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***[email protected]
# -*- 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***[email protected]
shizi
ris***[email protected]
参考方法:
# 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***[email protected]
凉城的夜
415***[email protected]
参考方法:
# 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***[email protected]
kamiya
mec***[email protected]
解码与编码:
#!/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***[email protected]