Warum funktioniert meine Python3-Codelogik nicht?Python

Python-Programme
Guest
 Warum funktioniert meine Python3-Codelogik nicht?

Post by Guest »

Ich versuche, ein Programm zu erstellen, das eine Liste zum Beispiel [9,9,9] nimmt und eins hinzufügt, um [1,0,0,0] zurückzugeben, sodass die Liste als ganze Zahl behandelt wird also wäre [9,9,9] wie 999+1=1000, also gibt es [1,0,0,0] zurück, aber mein Code gibt weiterhin [9,10,0] zurück
hier ist der Code( Python 3):

Code: Select all

def plus_one(digits):
if digits==[9]:
digits=[1,0]
return digits
else:
if digits[-1]==9:
digits[-1]=0
digits[-2]=digits[-2]+1
while True:
if digits[0] > 9:
digits[0] = 1
digits.append(0)
return digits
else:
for digit in digits:
if digit>9:
digits[digits.index(digit) - 1] = digits[digits.index(digit)-1]+ 1
digits[digits.index(digit)] = 0

else:
return digits

print(plus_one([9,9,9]))
Bitte möchte ich verstehen, warum diese Logik insbesondere für das Beispiel [9,9,9] nicht funktioniert, bevor ich Wege finde, den Code zu verbessern
Mein Code gibt [9,10,0] anstelle von [1,0,0,0] zurück, funktioniert aber perfekt für [9,9], das heißt, er gibt [1,0,0] zurück

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post