Newline in Python entfernen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Pielinho
User
Beiträge: 1
Registriert: Freitag 18. Dezember 2020, 13:42

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
Benutzeravatar
ThomasL
User
Beiträge: 1379
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Also wenn du das Argument end="" verwendest, wird kein Newline nach der Ausgabe gesendet.
Du kannst dir die Schleife auch sparen

Code: Alles auswählen

x = int(input())
print(f'{x:b}'[::-1], end='')
wenn du denn die binäre Darstellung deines eingegebenen Wertes in umgekehrter Reihenfolge haben willst.
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
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Statt ständig zwischen float und int hin und her zu konvertieren, solltest Du Ganzzahldivision verwenden:

Code: Alles auswählen

n = int(input())

while n > 0:
    print(n % 2, end="")
    n //= 2
Ist es Absicht, dass bei Eingabe von 0 nichts ausgegeben wird?
Antworten