Hey Community
Ich habe vor kurzen angefangen Phyton zu erlernen jedoch bin ich auf ein Problem gestoßen wo ich nicht weiter komme.
jedes mal wenn ich das "programm starten möchte kommt der fehler (Syntax Error: cant assign to operator)
s = 0.18
b * s = g
print ("Bitte geben sie ihr Brutto gehalt ein")
input () = b
print(b)
print(g)
bei b * s = g erscheint dann ein roter Balken.
Problem mit Variablen
Bei einer Zuweisung muss das Ziel auf der linken Seite stehen. Das sieht man im Tutorial ziemlich früh (https://docs.python.org/3/tutorial/intr ... ml#numbers).
Code wird der Reihe nach von oben nach unten abgearbeitet. Woher soll b an der Stelle denn kommen?stone97 hat geschrieben:danke doch jetzt kommt das b nicht defeniert ist.
Darf ich mal fragen, welches Buch/Tutorial du zum Lernen verwendest?
Ich benutze Einstieg in Phyton Ausgabe 3 und das ist eine Übungsaufgabe die ich machen wollte.
habe jetzt alles so verbessert doch es kommt immer noch eine Fehlermeldung das g = s * b nicht stimmt.
s = 0.18
print ("Bitte geben sie ihr Brutto gehalt ein")
b = input()
g = s * b
print(b)
print(g)
Könntest du mir gegebenenfalls ein anderes Buch empfehlen?
habe jetzt alles so verbessert doch es kommt immer noch eine Fehlermeldung das g = s * b nicht stimmt.
s = 0.18
print ("Bitte geben sie ihr Brutto gehalt ein")
b = input()
g = s * b
print(b)
print(g)
Könntest du mir gegebenenfalls ein anderes Buch empfehlen?
Es ist wichtig Fehlermeldungen genau zu lesen und sie bei Fragen auch exakt wiederzugeben. Ich vermute du bekommst Folgendes:
Du möchtest da offensichtlich etwas miteinander multiplizieren was man nicht miteinander multiplizieren kann.
input() liefert dir einen String zurück (zumindest unter Python 3, das du offensichtlich verwendest). Du musst den String erst in eine Zahl verwandeln um damit rechnen zu können.
Code: Alles auswählen
TypeError: can't multiply sequence by non-int of type 'float'
Code: Alles auswählen
>>> '18' * 0.2
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
'18' * 0.2
TypeError: can't multiply sequence by non-int of type 'float'
>>> '18' * 2
'1818'
>>> 18 * 2
36
Code: Alles auswählen
>>> float('18') * 0.2
3.6
@stone97
Eine Fehlermeldung ist ja eben auch eine Meldung, will heißen, dass in Deinem Fall "can't multiply sequence by non-int of type 'float'" auf die Lösung hinweist. Schau' Dir doch einfach mal die Datentypen an, die Du miteinander verarbeiten möchtest:
mutetella
Eine Fehlermeldung ist ja eben auch eine Meldung, will heißen, dass in Deinem Fall "can't multiply sequence by non-int of type 'float'" auf die Lösung hinweist. Schau' Dir doch einfach mal die Datentypen an, die Du miteinander verarbeiten möchtest:
Code: Alles auswählen
>>> s = 0.18
>>> b = input()
3500
>>> type(s)
<class 'float'>
>>> type(b)
<class 'str'>
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
Vielen Dank , Problem ist gelöst ich hatte schon so viel durchprobiert da ich schon halb resigniert hatte.
Wie man immer so schön sagt "Wer lesen kann ist klar im Vorteil" das war jetzt der Fall , also beim 3. Problem was ich hatte.
Danke an /me, Sirius3 und mutella für die schnelle Hilfe und für die Bereitschaft ein solchen blutigen Ahnungslosen Anfänger wie mir unter die Arme zu greifen.
Wie man immer so schön sagt "Wer lesen kann ist klar im Vorteil" das war jetzt der Fall , also beim 3. Problem was ich hatte.
Danke an /me, Sirius3 und mutella für die schnelle Hilfe und für die Bereitschaft ein solchen blutigen Ahnungslosen Anfänger wie mir unter die Arme zu greifen.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ein wichtiger Hinweis noch: Learning by Doing ist total in Ordnung. Ich habe aber das Gefuehl, dass das dein erster Schritt ist und du eher herumraetst wie etwas zu lauten hat und was es bedeutet.
Der Ansatz wird dich auf kurz oder lang frustrieren, auch wenn wir hier gerne helfen. Darum schlage ich vor du arbeitest dich durch die ersten paar Kapitel (bis 7 sollte fuers erste reichen) des Tutorials und gehst erst dann wieder Uebungsaufgaben durch.
Der Ansatz wird dich auf kurz oder lang frustrieren, auch wenn wir hier gerne helfen. Darum schlage ich vor du arbeitest dich durch die ersten paar Kapitel (bis 7 sollte fuers erste reichen) des Tutorials und gehst erst dann wieder Uebungsaufgaben durch.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Genau das meine ich. Oder, da du Python 3 benutzt, eben die Uebersetzung aus meiner Signatur.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
-
- User
- Beiträge: 2
- Registriert: Freitag 18. September 2015, 09:44
s = 0.18
b = input("Bitte geben sie ihr Brutto gehalt ein: ")
g = s * b
print(b)
print(g)
Das Ziel muss auf der linken Seite stehen. Und du musst bestätigen, dass du Python 3 verwenden. Es gibt mehrere Unterschiede zwischen Python 2 und 3.
b = input("Bitte geben sie ihr Brutto gehalt ein: ")
g = s * b
print(b)
print(g)
Das Ziel muss auf der linken Seite stehen. Und du musst bestätigen, dass du Python 3 verwenden. Es gibt mehrere Unterschiede zwischen Python 2 und 3.
Es ist schön, dass du als neuer User direkt etwas beitragen möchtest. Bitte verwende aber in Zukunft die passende Formatierung für Code.Karl der Große hat geschrieben:s = 0.18
b = input("Bitte geben sie ihr Brutto gehalt ein: ")
g = s * b
Das was du versuchst zu erklären wurde allerdings bereits erklärt. Zudem ist dein Code falsch für Python3 (und gefährlich in Python 2). Lass ihn selber laufen und du wirst es feststellen.
-
- User
- Beiträge: 2
- Registriert: Freitag 18. September 2015, 09:44
OK, mein Fehler. I werde es korrigieren./me hat geschrieben:Es ist schön, dass du als neuer User direkt etwas beitragen möchtest. Bitte verwende aber in Zukunft die passende Formatierung für Code.Karl der Große hat geschrieben:s = 0.18
b = input("Bitte geben sie ihr Brutto gehalt ein: ")
g = s * b
Das was du versuchst zu erklären wurde allerdings bereits erklärt. Zudem ist dein Code falsch für Python3 (und gefährlich in Python 2). Lass ihn selber laufen und du wirst es feststellen.
Was richtig ist:
b = float(input("Bitte geben sie ihr Brutto gehalt ein: "))