本人新入坑,实在找不出哪错了,代码正确率90%,求解惑!!!

python是可以直接a+b求解的,这里只是想实验一下思路,结果翻车了😤

img

img

代码如下:
m,n=input(),input()
s=[]
a=[]
b=[]
r=['0']
for i in range(len(m)):
a.append(m[i])
a.reverse()
for i in range(len(n)):
b.append(n[i])
b.reverse()
if len(m)>len(n):
for i in range(len(n),len(m)):
b.append('0')
else:
for i in range(len(m),len(n)):
a.append('0')
for i in range(len(a)):
x=int(a[i])
y=int(b[i])
z=int(r[i])
if int((x+y+z)/10)==0:
r.append('0')
s.append(str(x+y+z))
else:
r.append('1')
s.append(str((x+y+z)%10))
s.reverse()
print(''.join(map(str,s)))

求指正!!!

你最高位的进位没有添加到s列表中
比如 99 + 1 你代码的计算结果是 00

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

m,n=input(),input()
s=[]
a=[]
b=[]
r=['0']
for i in range(len(m)):
    a.append(m[i])
a.reverse()
for i in range(len(n)):
    b.append(n[i])
b.reverse()
if len(m)>len(n):
    for i in range(len(n),len(m)):
        b.append('0')
else:
    for i in range(len(m),len(n)):
        a.append('0')
for i in range(len(a)):
    x=int(a[i])
    y=int(b[i])
    z=int(r[i])
    if int((x+y+z)/10)==0:
        r.append('0')
        s.append(str(x+y+z))
    else:
        r.append('1')
        s.append(str((x+y+z)%10))
if r[-1]=='1':
    s.append(r[-1])
s.reverse()
print(''.join(map(str,s)))

img