Totale Anfängerfragen: in den sekundären Prompt wechlseln

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
Anfänger

Ich bin ein absoluter Anfänger, darum entschuldigt bitte so eine dumme Frage:

Wie kann ich im interaktiven Modus in den sekundären Prompt (...) wechseln?
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Willkommen!
Anfänger hat geschrieben:Wie kann ich im interaktiven Modus in den sekundären Prompt (...) wechseln?
Mit einem Backslash am Zeilenende:

Code: Alles auswählen

>>> print \
... "blub"
blub
>>> 
Jan
Anfänger

:cry: funktioniert bei mir leider nicht:
Nach dem \ fehlen in der nächsten Zeile die drei Punkte und ich bekomme grundsätzlich einen Syntaxerror (auch wenn ich die Punkte von Hand hinmachen)

Ich habe ausserdem sowas gesehen:

Code: Alles auswählen

>>> the_world_is_flat = 1
>>> if the_world_is_flat:
... print "Be careful not to fall off!"
...
Be careful not to fall off!
Da sehe ich kein Backslash.
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Anfänger hat geschrieben:Nach dem \ fehlen in der nächsten Zeile die drei Punkte und ich bekomme grundsätzlich einen Syntaxerror
Sollte nicht sein. Kannst Du mal die Fehlermeldung posten?
Anfänger hat geschrieben:Ich habe ausserdem sowas gesehen:

Code: Alles auswählen

>>> the_world_is_flat = 1
>>> if the_world_is_flat:
... print "Be careful not to fall off!"
...
Be careful not to fall off!
Nur gesehen oder auch ausprobiert? Denn da müsste wiederrum eine Fehlermeldung kommen, da die print-Zeile nicht eingerückt ist. Richtig:

Code: Alles auswählen

>>> the_world_is_flat = 1
>>> if the_world_is_flat:
...     print "Be careful not to fall off!"
...
Ein Backslash ist hier nicht notwendig, da der Interpreter selbst erkennt, wenn ein Statement oder ein Ausdruck nicht vollständig ist. Mit dem Doppelpunkt wird ein Block eröffnet, der mind. eine eingerückte Zeile enthalten muss. Im interaktiven Modus wird der Block mit einer leeren Zeile beendet.
Andere Beispiele ohne Backslash:

Code: Alles auswählen

>>> myList = [
... 1,
... 2,3,
... 4]
>>> myText = """
... 1. Zeile
... 2. Zeile
... """
>>>
Jan
Anfänger

:( Peinlicher Fehler

Ich habe einfach den Doppelpunkt hinter der if-Anweisung vergessen.

Jetzt funktionierts! :lol:

(Bei mir scheint der sekundäre Promt keine drei Punkte zu machen, aber das sollte eigentlich egal sein, oder?)

Was den Code angeht: stimmt, kann so nicht funktionieren.
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Anfänger hat geschrieben:(Bei mir scheint der sekundäre Promt keine drei Punkte zu machen, aber das sollte eigentlich egal sein, oder?)
Ist seltsam, aber tatsächlich egal. Die Default-Einstellung bekommst Du mit

Code: Alles auswählen

import sys
sys.ps2 = '... '
Jan
Kartoffel
User
Beiträge: 66
Registriert: Montag 7. April 2003, 17:08

Ich bins, der Anfänger. Ich hab mich mal registriert, weils so aussieht, als würde ich in Zukunft öfters mal vorbeischaun.
Und da ich hoffe, nicht ewig Anfänger zu bleiben, hab ich mir gleich mal nen neuen Namen zugelegt :wink:

Wo muss ich den Code eingeben, um die Punkte zu bekommen, direkt im Programmfenster? (Wenn ja hab ich ein Problem, funktioniert nämlich nicht!)
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

"Kartoffel" ist gut ;-)
Kartoffel hat geschrieben:Wo muss ich den Code eingeben, um die Punkte zu bekommen, direkt im Programmfenster? (Wenn ja hab ich ein Problem, funktioniert nämlich nicht!)
Mysteriös. Wie/Wo nutzt Du Python? Also unter welchem Betriebsystem und in welcher Umgebung (IDLE, WinPython, "DOS"-Fenster, Shell, etc.)? Bisher ist mir allerdings noch keine Umgebung untergekommen, wo das nicht funktioniert hat. Im "DOS"-Fentster z.B. müsste das so aussehen:

Code: Alles auswählen

C:\>python
Python 2.2.2 (#37, Oct 14 2002, 17:02:34) [MSC 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.ps2 = "2nd Prompt: "
>>> print \
2nd Prompt: "bla"
bla
>>>
Jan
Gast

:D Mir gefällt mein Name auch :D

Ich habe Win 98 und IDLE (Phyton 2.2)

Ist vieleicht auch interresant:
im sek. Prompt wird die Zeile automatisch eingerückt und es ist wirklich garkein Zeichen dass den sek. Prompt markiert (auch kein Leerzeichen, oder sowas) ich kann mit der Rücktaste bis ganz zum Zeilenbeginn (die Promptmarkierung kann ich ja sonst nicht löschen (ICH zumindest nicht))



Können wir das Problem nach mir benennen? ("Kartoffel-Bug" oder so was :twisted: )
Kartoffel
User
Beiträge: 66
Registriert: Montag 7. April 2003, 17:08

Anonymous hat geschrieben::D Mir gefällt mein Name auch :D

Ich habe Win 98 und IDLE (Phyton 2.2)

Ist vieleicht auch interresant:
im sek. Prompt wird die Zeile automatisch eingerückt und es ist wirklich garkein Zeichen dass den sek. Prompt markiert (auch kein Leerzeichen, oder sowas) ich kann mit der Rücktaste bis ganz zum Zeilenbeginn (die Promptmarkierung kann ich ja sonst nicht löschen (ICH zumindest nicht))



Können wir das Problem nach mir benennen? ("Kartoffel-Bug" oder so was :twisted: )
Das war ich :lol:
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hallo!
Anonymous hat geschrieben:Können wir das Problem nach mir benennen? ("Kartoffel-Bug" oder so was :twisted: )
Ich hab mal ein wenig gegoogelt. Das ist kein Bug, sondern ein Feature von IDLE, das sonst irgendwie Probleme bekäme. Ich hab' IDLE irgendwie nie gemocht.
Jan
ASCII158
User
Beiträge: 80
Registriert: Samstag 28. September 2002, 15:40
Wohnort: München

IDLE ist eigentlich garbicht soo schlecht, wenn es nur um das testen von Scriptfragmenten geht (also ein Test was tut diese Zeile/wie funktioniert das...) weil es, wenn man den Namen einer Prozedur eingibt die Argumente anzeigt (in einem Tooltip). Fürs entwickeln würde ihcs aber nicht nehmen.
mfg,

10011110
Kartoffel
User
Beiträge: 66
Registriert: Montag 7. April 2003, 17:08

Das bedeutet jetzt, es ist normal, dass ich in IDLE keine Punkte sehe?
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hallo!
Kartoffel hat geschrieben:Das bedeutet jetzt, es ist normal, dass ich in IDLE keine Punkte sehe?
Richtig. IDLE nutzt sys.ps2 nicht, auch nicht, wenn Du sys.ps2 etwas zuweist.
Jan
Antworten