Hallo zusammen. Ich habe folgenden Code geschrieben, der an sich richtig ist, allerdings am Ende immer eine Newline Character mit ausgibt, der meine Lösung falsch werden lässt.
Beispiel: mit input(6) gibt das Programm (011) raus und einen Newlinecharacter am Ende. Da ich die Aufgabe online hochladen muss, führt der newline character dazu, dass meine Aufgabe als falsch gewertet wird. Hat jemand eine Idee woran das liegen könnte? Danke.
x = int(input())
while int(x) > 0:
print(int(x % 2), end="")
x = x/2
Newline in Python entfernen
Also wenn du das Argument end="" verwendest, wird kein Newline nach der Ausgabe gesendet.
Du kannst dir die Schleife auch sparen
wenn du denn die binäre Darstellung deines eingegebenen Wertes in umgekehrter Reihenfolge haben willst.
Du kannst dir die Schleife auch sparen
Code: Alles auswählen
x = int(input())
print(f'{x:b}'[::-1], end='')
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Statt ständig zwischen float und int hin und her zu konvertieren, solltest Du Ganzzahldivision verwenden:
Ist es Absicht, dass bei Eingabe von 0 nichts ausgegeben wird?
Code: Alles auswählen
n = int(input())
while n > 0:
print(n % 2, end="")
n //= 2