题目 26进制加法:
2大整数相加,每位是小写字母,’a’是0,‘z’是25。求加法的和
输入输出
输入
z
bc
输出
cb
解法: 思路:
ord():返回对应的 ASCII 数值
reverse():反向列表里的元素
chr():将as码转成字符
26进制加法的过程 :
从末尾开始,按位将两数相加,如果和超过26,就需要进位,将和减去26的结果就是该位的结果。
进位要留到下一位的计算里。
可以看到这是一个递归的过程。因为上一个进位要留到下一个位相加里。
所以首先,要满足按位加,要将两个字符串补充成一个长度。
十进制我们是补0,这里是26进制,我们补’a’。
设定函数来计算按位加的过程,输入的两位的字符,输出是相加的结果和进位。这里用ord将字符串转成ascii码再模拟计算的过程。
然后对两个补完长度的字符串,进行按位加,将每一个按位加的结果存在list里, 最后将list的结果反向,并联合起来输出字符串,就是相加的结果。
# #以下只用于测试,输出应该是saeattmdsrdssvtady
# input1 =