Python Code in Spyder erzeugt Fehlermeldung?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ganz einfach: Das >>> am Zeilenanfang gehört nicht mit zum Code sondern stellt den Eingabeprompt dar, den der Python-Interpreter zeigt, wenn er im "Interaktiven Modus" gestartet wird.

Woher ich das weiß:Hobby

GalactoseDd 
Fragesteller
 29.04.2019, 20:31

Die Syntax schein einfach nicht zu funktionieren. Auf den Folien wird mir der Wert von x angegeben wenn ich x einfach eingebe. bei mir allerdings nicht. x wird gar nicht angezeigt. zumidnest bekomme ich keine fehlermeldung wenn ich >>> weglasse? Wie kann ich das so einrichten, dass es mit den folien übereinstimmt?

0
Isendrak  29.04.2019, 20:42
@GalactoseDd

Die "Folie" beschreibt das Verfahren, um das ganze im "Interaktiven Modus" zu machen.

Wenn du ein Python-Skript haben willst, das folgendes macht:

  1. Eine Float-Variable deklarieren und initialisieren
  2. Den Inhalt dieser Variable ausgeben

dann geht das z.B. so:

x=123.456
print(x)

Ansonsten starte den Interpreter im "Interaktiven Modus" (also ohne ihm eine Skriptdatei o.ä. mitzugeben) und führe das ganze "von Hand" aus.

---------------------------------------------------------------------------------

Um das ganze nochmal etwas genauer auseinanderzuklamüsern:

  • Du startest den Python-Interpreter
  • Der Interpreter begrüßt dich mit ein bisschen Text
  • Der Interpreter gibt dir >>> aus und zeigt dir damit, dass er jetzt eine Eingabe von dir haben will
  • Du "sagst" dem Interpreter x=123.456
  • Der Interpreter meckert nicht und gibt auch keine sonstigen Ausgaben, der Befehl wurde also erfolgreich ausgeführt (Anmerkung: In C/C++, Java, usw. kann man auch so Dinge machen wie a=b=0, in Python geht das nicht. Deswegen erzeugt der Ausdruck x=123.456 auch keine Ausgabe.)
  • Der Interpreter meldet sich erneut mit >>> und wartet auf den nächsten Befehl
  • Jetzt sagst du dem Interpreter x (Und zwar nur das x)
  • Da diesmal der interpretierte Ausdruck einen Wert zurückgibt und (wenn du die Anweisungen bis hier hin korrekt befolgt hast ^^) kein Fehler auftritt, gibt der Interpreter den besagten Wert aus. In diesem Fall also 123.456
1
GalactoseDd 
Fragesteller
 29.04.2019, 20:50
@Isendrak

Danke aber wie öffne ich den Interpreter unter Spyder?

0
Isendrak  29.04.2019, 21:01
@GalactoseDd

Da ich Spyder (vermutlich ne IDE oder zumindest ein "besserer" Texteditor) nicht kenne müsste ich da raten.

Aber zur Not kannst du immer noch (ich rate hier mal und sage "Windows") die python.exe bzw. python3.exe im Installationsverzeichnis von Python starten (dürfte C:\Python3.7\ oder ähnliches sein).

1

Ohne jetzt die Syntax-Regeln in Phyton zu kennen, versuche mal nicht den Punkt als Dezimaltrenner zu verwenden, sondern das Komma. Ich vermute, dass der Compiler in den rechnerspezifischen Einstellungen nachschaut, und da steht bei einem deutschen Windows wahrscheinlich das Komma


GalactoseDd 
Fragesteller
 29.04.2019, 20:32

Scheint irgendwie nicht zu ändern

0
HansWurst45  29.04.2019, 20:40

Vergiss meinen Beitrag, Isendrak's Antwort viel plausibler

1
Isendrak  29.04.2019, 20:49
@HansWurst45

Wobei es bei C# ein ähnliches Verhalten wie das von dir beschriebene gibt. Zwar nicht bei Float-/Double-Literalen im Code selbst, dafür aber bei den entsprechenden Parsing-Funktionen. Wenn man da nicht aufpasst, hat man ganz schnell mal "lustige" Probleme, besonders wenn man z.B. nicht mit Benutzereingaben sondern z.B. mit Werten aus einem JSON-Dokument das über ein REST-API geladen wurde hantiert. o.O

P.S.: Ganz unplausibel ist deine Antwort (zumindest dafür, dass du laut eigener Aussage nicht viel von Python kennst) also nicht. Naja, ein bisschen "halbplausibel" evtl. aber immerhin. ^^

0

ich hoffe du hast die >>> nicht selbst da rein gemacht .

wenn du sowas irgendo siehst, soll es dir nur zeigen wie weit eingrückt wurde .

da man leerzeichen so schlecht sehen kann.

>>> ist kein Phytonoperator. Das soll nur dir zeigen welcher Teil des Skriptes du schreibst, und wenn >>> fehlt, welchen Teil das ausgeführte skript auf dem Bildschirm schreibt.

also einfach die >>> bei der Eingabe weglassen.


Isendrak  29.04.2019, 20:58

Funfact: U.a. in JavaScript gibt es tatsächlich den Operator >>>. Der macht für Zahlen größer als oder gleich 0 das gleiche wie >> aber für Zahlen kleiner als 0 siehts anders aus: -1>>1=-1 aber -1>>>1=2147483647. ^^

0
iqKleinerDrache  29.04.2019, 20:59
@Isendrak

aber bestimmt nicht als unärer operator >>> x also vorher nichts, anfang der zeile

1