Ich schreibe ein Programm, das eine Zahl aus der Eingabe nimmt und ihre Palindromzahl generiert. Mein Programm druckt nur die erste Hälfte, nicht die zweite. Ich habe es umgekehrt versucht, hat nicht funktioniert. Ich habe diese Zeilen als Kommentar eingefügt.
Mein Code:
def show_palindrome(maximum):
maximum = int(input("Enter Number : "))
for number in range(1, maximum + 1):
temporary = number
reverse = 0
while (temporary > 0):
reminder = temporary % 10
reverse = (reverse * 10) + reminder
temporary = temporary //10
if(number == reverse):
#number2 = number[::-1]
#print(number,number2, end = '')
print(number, end = '')
show_palindrome(3)
Meine Ausgabe:
123
Die Ausgabe die ich brauche:
12321
Ich glaube du suchst sowas:
def show_palindrome(maximum = None):
if not maximum:
maximum = input("Enter Number : ")
output = str(maximum)
for number in range(1, int(maximum)):
output = str(int(maximum) - number) + str(output) + str(int(maximum) - number)
return output
print(show_palindrome(3))
das kehrt 12321
zum Beispiel zurück
Ein paar Dinge würde ich in deiner Funktion anders machen:
Ansonsten gute Arbeit! Weiter so!
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen