2016-12-10 1 views
0

Ich schreibe ein Programm, um zu überprüfen, ob der durch die Division erhaltene Quotient eine ganze Zahl ist oder nicht.Eine Ganzzahl durch ihre Umkehrung in Python 3 teilen

Die Dividend (Zähler, wenn die Division) ist die gegebene Eingabe integer. Der Divisor (Nenner) ist die Rückseite des Dividenden.

I umgesetzt Reversion für 90, beispielsweise durch den folgenden Code:

>>> str(90)[::-1] 

Es wird folgendes Ergebnis geliefert:

>>> str(90)[::-1] 
09 

Nun, wenn ich Trennung zwischen 90 (Eingang) durchführen und 09 (rückwärts), es ergibt einen Fehler:

>>> 90/09 
SyntaxError: invalid token 

Was sollte nicht sein e um diesen Fehler zu beseitigen und die richtige Antwort zu erhalten 10.0?

Wie ignoriert man diese Null, wenn es am Anfang von Divisor oder Dividende ist?

+3

wie 'float ('09') '? –

+0

Sie können die Modulo-Funktion verwenden, um so den Rest einer Division zurückzugeben und zu testen, ob sie gleich Null ist. Z.B. Wenn x% y == 0 – wrdeman

+0

Übrigens ist '09' keine Dezimalzahl. http://stackoverflow.com/questions/11620151/what-do-numbers-starting-with-0-mean-in-python –

Antwort

1

Eine Sache ist, dass Sie versuchen, dies interaktiv zu berechnen, und Sie buchstäblich eingeben 09 im Interpreter. Zahlen beginnend mit 0 werden als Oktalzahlen interpretiert (vgl. What do numbers starting with 0 mean in python?) und 09 ist eine ungültige Oktaldarstellung.

Die andere Sache ist, dass die Teilung überhaupt nicht funktioniert, wenn Sie die Zeichenfolge nicht konvertieren zurück in int oder float, so sollte es so etwas wie diese:

num = 90 
res = 90/float(str(90)[::-1]) 
print(res) 
Verwandte Themen