Zahl umwandeln, binär

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
SemperPython

Ich hab ein wenig herumprobiert und wollte kurz Code schreiben um einen "Zahlen Umwandler" zu machen.

Code: Alles auswählen

eingabe = input("Bitte geben sie eine Zahl ein: ")
print("Zahl in Binaer:", bin(eingabe))
Es hat leider nicht geklappt,was könnte ich tun?Bitte nichts böses schreiben,ich bin rel. neu in Python
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Die Lösung ist denkbar einfach, aber damit du es lernst ;-) : Was hat denn nicht funktioniert? Welche Eingabe hast du gemacht, was für eine Ausgabe hast du erwartet und was ist tatsächlich rausgekommen. Falls es eine Fehlermeldung war: Wie sieht der dazugehörige Traceback aus?
Das Leben ist wie ein Tennisball.
SemperPython

Was genau stand kann ich jetzt nicht sagen, da ich am Handy bin, es stand aufjedenfall etwas mit str() dadrin.Ich hätte erwartet, dass die eingegebene Zahl ins binäre Zahlensystem umgewandelt wird.Es wurde nur ein Traceback ausgegeben :(
Benutzeravatar
sparrow
User
Beiträge: 4195
Registriert: Freitag 17. April 2009, 10:28

Poste das einfqxh wenn du wieder am PC bist.
SemperPython

Code: Alles auswählen

File "C:\Users\PC\Desktop\Py_Encode.py", line 2, in <module>
                print("Zahl in Binaer:", bin(eingabe))
TypeError: 'str' object cannot be interpreted as an integer
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Ist jetzt vielleicht a bisl gemein, aber die Antwort auf Deine Frage ist:

Code: Alles auswählen

'str' object cannot be interpreted as an integer
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Erklärung:

Code: Alles auswählen

>>> bin(7)
'0b111'
>>> bin('7')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object cannot be interpreted as an integer
Zuletzt geändert von pillmuncher am Dienstag 13. November 2012, 15:42, insgesamt 1-mal geändert.
In specifications, Murphy's Law supersedes Ohm's.
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

Weißt du was ein string und ein integer ist? Wenn nicht, dringend in die Grundlagen der Programmierung einarbeiten
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Steht doch da: input erwartet einen Integer als Argument, du übergibst aber einen String. Du musst den String also vorher in einen Integer umwandeln.

Du solltest dir auch angewöhnen den gesamten Traceback, also den gesamten Fehler zeigen und nicht nur den Teil, den du für relevant hältst. In so einer Fehlermeldung stecke jede Menge Informationen, welche sonst verloren gehen.
Das Leben ist wie ein Tennisball.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Ich wüsste jetzt nicht wirklich, was ich dazu sagen soll. Die Fehlermeldung sagt es doch bereits: 'bin()' kann einen String nichts ins Binärformat umwandeln.

Code: Alles auswählen

>>> bin('1')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object cannot be interpreted as an integer
>>> bin(1)
'0b1'
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
SemperPython

Bitte nichts böses schreiben,ich bin rel. neu in Python
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@SemperPython
Niemand ist böse. :D
Und die Fehlermeldung ist Dein Freund. :D

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
SemperPython

Ach, ok jetzt kapier ich es ein wenig.

Code: Alles auswählen

eingabe = input("Bitte geben sie eine Zahl ein: ")
b = int(eingabe)
print("Zahl in Binaer:", bin(b))
Was ein String und ein Integer ist,weiß ich nicht,bzw. soweit ich weiß wurde es in "Einstieg in Python" - von Thomas Theis nicht näher erläutert.
Kann mir das jemand bitte erklären? :)
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Am besten, Du liest Dir mal das Tutorial durch. Darin stehen auch so grundlegende Dinge wie der Unterschied zwischen integer und string.

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Malachite
User
Beiträge: 34
Registriert: Sonntag 24. Juni 2012, 13:43
Wohnort: Berlin

SemperPython hat geschrieben: Was ein String und ein Integer ist,weiß ich nicht,bzw. soweit ich weiß wurde es in "Einstieg in Python" - von Thomas Theis nicht näher erläutert.
Kann mir das jemand bitte erklären? :)
Ein Programmierbuch, das so etwas elementares nicht behandelt, sollte nicht einmal veröffentlicht werden. Ich meine, ist ja nicht Neues, dass Galileos Bücher nicht die besten sind, aber so etwas…

Oder hast du vielleicht was übersehen? Solche Bücher haben normalerweise ein Register. Schlage dort mal "Datentypen" nach.
Benutzeravatar
sparrow
User
Beiträge: 4195
Registriert: Freitag 17. April 2009, 10:28

Also laut den Inhaltsverzeichnis gibt es ein ganzes Kapitel, dass sich nur mit Datentypen beschäftigt. Es trägt die Nummer 4 und reicht von Seite 81 bis 136.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Die tauchen bestimmt schon vorher auf. Die Galileo Bücher sind dahingehend immer ein wenig konfus, erst ein paar Programme zeigen und im Nachgang werden elementare Spracheigenschaften erklärt.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
SemperPython

Ich weiß jetzt wofür man Strings, Integer und Float braucht ;)
Antworten