题目
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
原题参考如下网站
https://www.runoob.com/python/python-exercise-example89.html
代码和结果
代码:
"""某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,
加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换"""
a=input("连续输入四个数字:")
l=[]
for i in range(4):
b=int(a[i])+5
c=b%10
# l.append(c)
l.insert(0,c)
print("".join("%s" %i for i in l))
结果:
连续输入四个数字:5678
3210
分析
- input 函数输入四个数字作为字符串
- for循环对四个数字进行处理
- int函数将字符串转化成数字
- insert函数将处理的数字插入到list的最前面, 实现题目中的需求,第一位和第四位,第二位和第三位交换,其实就是将数据反转。
- 数据反转还可以使用append函数和reserve实现组合,代码如下。
a=input("连续输入四个数字:")
l=[]
for i in range(4):
b=int(a[i])+5
c=b%10
l.append(c)
l.reverse()
# l.insert(0,c)
# print(c)
print("".join("%s" %i for i in l))