Seite 1 von 1
Python in Java umwandeln?
Verfasst: Mittwoch 8. Juli 2015, 09:30
von wolle_R
Hallo,
bin ganz neu im Forum und habe ein Frage zu einem Code von mir. Den habe ich vor ein paar Jahren geschrieben und brauche ihn jetzt wieder aber in Java :/
Es geht darum, dass ich eine Zahl, die als Array vorliegt, um eins erhöhe.
Jetzt die Frage, ob man diesen Code mit ein paar kleinen Änderungen auch in Java verwenden kann?
Code: Alles auswählen
a=[1,2,3,4,5]
b=[1,9,9,9,9,9,9,9,9,9,9,9,]
def inkrement(array):
number="".join(str(x) for x in array)
new_number=str(int(number)+1)
new_array=list(new_number)
result=[int(x) for x in new_array]
return result
print(inkrement(a))
print(inkrement(b))
Viele Grüße,
wolle_R
Re: Python in Java umwandeln?
Verfasst: Mittwoch 8. Juli 2015, 10:38
von Sirius3
@wolle_R: die Frage ist zuerst, warum man überhaupt sowas braucht. In Java würde man das Inkrementieren wohl gleich in der Liste machen, also eher sowas übersetzen:
Code: Alles auswählen
def inkrement(array):
carry = 1
result = []
for k in reversed(array):
carry, k = divmod(k + carry)
result.append(k)
if carry:
result.append(carry)
result.reverse()
return result
Re: Python in Java umwandeln?
Verfasst: Mittwoch 8. Juli 2015, 12:40
von wolle_R
Hallo Sirius,
vielen Dank für die Antwort. Naja "brauchen" tue ich es nicht, es ist für die Uni.
Python hatte ich in der Schule gelernt und diese Aufgabe gibts jetzt in Java. Ich dachte, es gibt vllt eine Möglichkeit den Code in jave zu transferieren, ohne viele Änderungen zu machen...
Re: Python in Java umwandeln?
Verfasst: Mittwoch 8. Juli 2015, 13:01
von snafu
Ja, diese Möglichkeit gibt es. Der empfohlene Weg bei Uni-Aufgaben ist dabei stets eigenständiges Nachdenken. Und zwar mindestens soweit, dass aufkommene Fragen über "Wie geht das?"-Niveau hinausgehen. Dann kann man sich mit diesen Fragen ggf hier im Thread nochmal melden.
Re: Python in Java umwandeln?
Verfasst: Mittwoch 8. Juli 2015, 13:08
von Sirius3
@wolle_R: Wenn Du an der Uni Java lernst, solltest Du auch die Aufgabe in Java neu programmieren und nicht versuchen, nach Pythonart in Java zu schreiben. Jede Sprache hat ihre eigenen Best Practices und etwas wörtlich zu übersetzen ist meistens nicht der beste Weg.
Re: Python in Java umwandeln?
Verfasst: Samstag 28. November 2015, 09:29
von kodela
@Sirius3:
Ich versuche mich gerade an diversem Beispielcode und bin dabei auf den Deinen hier in diesem Thread gestoßen.
In diesem verwendest Du 'k = divmod(k + carry)'. Dabei wird mit divmod() nur ein Argument übergeben obwohl laut Logik und Dokumentation es doch zwei sein müssten.
Einfach das Pluszeichen durch ein Komma zu ersetzen, kann auch nicht die Lösung sein, denn auch die Rückgabe liefert ein Zahlenpaar.
Kannst Du mir bitte helfen, dies zu verstehen.
MfG, kodela
Re: Python in Java umwandeln?
Verfasst: Samstag 28. November 2015, 11:16
von kbr
@kodela: Es sollte 'carry, k = divmod(k + carry, 10)' heissen. Falls Sirius3 dies absichtlich eingebaut hat, zeigt dies, dass zumindest Du Dich mit seiner Antwort auseinander gesetzt hast.
Re: Python in Java umwandeln?
Verfasst: Sonntag 29. November 2015, 10:47
von kodela
@kbr:
Danke für die Aufklärung. Jetzt ist mir alles klar.
MfG, kodela