Listeneinträge addieren - Problem: Übertrag
Verfasst: Dienstag 28. Juni 2016, 20:55
Hallo liebe Community,
meine Aufgabe ist es den 196-Algorithmus zu programmieren.
Hier mein bisheriges Ergebnis (ich nutze Spyder):
Mein Problem (ab (*)) ist nun folgendes: Dieser Algorithmus fkt. für Zahlen wie 123 super, habe ich aber Zahlen bei deren Addition mit der zugehörigen Spiegelzahl ein Übertrag auftritt, z.B. 56 (56+65=121) klappt es nicht mehr.
Daher meine Frage wie z.B. [5,6]+[6,5]=[1,2,1] anstatt =[11,11] entsteht.
Vllt kann mir ja wer weiterhelfen
meine Aufgabe ist es den 196-Algorithmus zu programmieren.
Hier mein bisheriges Ergebnis (ich nutze Spyder):
Code: Alles auswählen
b=list(raw_input('Geben Sie eine natuerliche Zahl n>=10 an: '))
for i in range(0,len(b)):
b[i]=int(b[i])
print b
g=[]
def p(x,z):
global b,g
c=reversed(b)
d=list(c)
if b==d:
print 'Die beiden Zahlen sind Palindrome!'
return b,d
else:
for j in range(0,len(d)):
g[len(d)-1-j]=b[len(d)-1-j]+d[len(d)-1-j]
print g
if g[j]>9: (*)
g[j]=g[j]-10
b=g
print b
z=z+1
return p(b,z)
for i in range (0,len(b)):
g.append(0)
print g
print p(b,0)Mein Problem (ab (*)) ist nun folgendes: Dieser Algorithmus fkt. für Zahlen wie 123 super, habe ich aber Zahlen bei deren Addition mit der zugehörigen Spiegelzahl ein Übertrag auftritt, z.B. 56 (56+65=121) klappt es nicht mehr.
Daher meine Frage wie z.B. [5,6]+[6,5]=[1,2,1] anstatt =[11,11] entsteht.
Vllt kann mir ja wer weiterhelfen