Python Eingabe

Support-Forum für deutschsprachige Benutzer

Moderator: karlchen

Forum rules
Topics in this forum are automatically closed 6 months after creation.
Locked
Lusse
Level 1
Level 1
Posts: 8
Joined: Mon Apr 19, 2021 12:34 pm

Python Eingabe

Post by Lusse »

Linux Mint 18.2 Sonya; KDE Plasma 5.8.9

Hallo,
ich habe beschlossen, ein wenig Python zu lernen (blutigster Anfänger, absolut keine Ahnung!). Bei Open.hpi entdeckte ich einen Kurs für Schüler. Genau das Richtige für mich, dachte ich. Nun war dieser Kurs leider schon abgeschlossen und ich bekam nur das Lernmaterial zur Verfügung, keine Möglichkeit, Fragen zu stellen und die bearbeiteten Aufgaben kontrollieren zu lassen. Dafür kein Zeitdruck! Also angefangen. Da ich recht gern mit der shell arbeite, hab ich dort "python 3" eingegeben (das sollte drauf sein) und es startete auch python 3.5.2. Die ersten Übungen waren damit auch gut machbar. Aber dann kam eine Übung mit Verzweigungen. Ich schreib die jetzt mal absichtlich ohne "Code" auf, weil genau dieses nämlich nicht funktioniert und ich weiß ums Verr... nicht, warum.
Aufgabe:
alter = 13
if alter > 10:
print("Haus Regenbogen")
print("Willkommen")

Die Ausgabe müßte Haus Regenbogen sein.
Aber die Eingabe funktioniert nicht:

compu@Mint18 ~ $ python3
Python 3.5.2 (default, Jan 26 2021, 13:30:48)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> alter = 13
>>> if alter > 10:

Bis hierin ist alles ok. Wenn ich jetzt zur nächsten Zeile gehe:

>>> alter = 13
>>> if alter > 10:
...

Eigentlich sollte der Cursor jetzt einrücken, da die nächste Anweisung ja nicht immer ausgeführt werden soll (sonst entstünde ja ein Intendationsfehler, wenn ich das richtig verstanden habe). Macht er aber nicht, also mach ich das per Leertaste:

>>> alter = 13
>>> if alter > 10:
... print ("Haus Regenbogen")

Gehe ich jetzt in die nächste Zeile:

>>> alter = 13
>>> if alter > 10:
... print("Haus Regenbogen")
...

erscheint am Anfang nicht >>>, sondern ... . Darf das sein???
Die letzte Zeile darf ja nun nicht eingerückt sein, da sie immer auszuführen ist:
Wenn ich dann aber print("Willkommen") eingebe, passiert folgendes:

>>> alter = 13
>>> if alter > 10:
... print ("Haus Regenbogen")
... print("Willkommen")
File "<stdin>", line 3
print("Willkommen")
^
SyntaxError: invalid syntax
>>>

Ich habe die Ausgabe "SyntaxError" auf die letzte Zeile mit Beginn ... bezogen, da müßte doch stehen >>>print("Willkommen"). Also wollte ich die drei Punkte ...
löschen und stattdessen >>> setzen, aber das läßt sich nicht löschen. Ich bin also gar nicht in der Lage, die ganze Befehlsfolge richtig einzugeben. Wo mach ich da was falsch? Bitte so erklären, daß es ein Laie verstehen kann

MfG
Lusse
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
User avatar
ehtron
Level 10
Level 10
Posts: 3364
Joined: Thu Apr 14, 2016 8:15 am
Location: Germany / Baltic Sea
Contact:

Re: Python Eingabe

Post by ehtron »

hi :)
python ist nicht so meins, da kann ich nicht helfen.

aber das dein mint 18.3 bereits tot ist, ist dir bewusst?
Lg. Ehtron :)
Keine Hilfe bei fehlender System / Desktop Angabe.
Ich gebe Hilfe zur Selbsthilfe.
O-rion
Level 3
Level 3
Posts: 137
Joined: Sun Feb 15, 2015 3:05 pm

Re: Python Eingabe

Post by O-rion »

Die drei Punkte sind ok. DAran sollst du vermutlich erkennen können, daß die if-Abfrage noch was erwartet.
Beginne deine print Funktion mal mit der TAB Taste.
Linux Mint 20.1 MATE
MAlfare

Re: Python Eingabe

Post by MAlfare »

Lusse wrote: Mon Apr 19, 2021 3:19 pm Hallo,
ich habe beschlossen, ein wenig Python zu lernen (blutigster Anfänger, absolut keine Ahnung!). Bei Open.hpi entdeckte ich einen Kurs für Schüler.
Diesen Kurs habe ich mitgemacht.
Und mir IDLE aus den Paketquellen installiert.
Damals idle-python3.8, LM 19.3
Ohne Editor eine Programmiersprache zu lernen, ist Masochismus.
Kannst ja auch "Textbearbeitung" nehmen :D
Lusse
Level 1
Level 1
Posts: 8
Joined: Mon Apr 19, 2021 12:34 pm

Re: Python Eingabe

Post by Lusse »

Hallo,
besten Dank für die Antworten.
@ o-rion:
Hab ich gemacht: Bei Beginn der 4. Zeile TAB gedrückt, mag er wohl auch nicht.

>>> alter = 13
>>> if alter > 10:
... print("Haus Regenbogen")
... print("Willkommen")
File "<stdin>", line 3
print("Willkommen")
^
TabError: inconsistent use of tabs and spaces in indentation

Da steht ja auch was drunter (wahrscheinlich das, was ihm nicht gefällt), aber ich kann mit der Fehlermeldung nichts anfangen. Die erste Meldung bezieht sich doch auf Zeile 3 (line 3), aber was ist eine Datei (File) <stdin> ????

@ MAlfure
ok, schwerer machen als es sowieso schon ist, soll man es sich ja auch nicht. Also Idle:

Python 3.5.2 (default, Jan 26 2021, 13:30:48)
[GCC 5.4.0 20160609] on linux
Type "copyright", "credits" or "license()" for more information.
>>> alter = 13
>>> if alter > 10:
print("Haus Regenbogen")
print("Willkommen")

Das Programm setzt die 4. Zeile eingerückt genau unter die 3.Zeile. So gehört sie zur "If"-Anweisung, was nicht stimmt. Irgendwie muß hier eine Mitteilung
an das Programm erfolgen, daß die "If"-Anweisung zu Ende ist.

Rücke ich die 4. Zeile selbst nach vorn und setze >>> an den Beginn, kommt eine Fehlermeldung:

>>> alter = 13
>>> if alter > 10:
print("Haus Regenbogen")
>>> print("Willkommen")
SyntaxError: invalid syntax

Rücke ich die 4. Zeile nach vorn ohne die Eingabe von >>>, kommt ebenfalls eine Syntax-Fehlermeldung.

>>> alter = 13
>>> if alter > 10:
print("Haus Regenbogen")
print("Willkommen")
SyntaxError: invalid syntax

????????????
Was hat Du damals beim Kurs eingegeben?

MfG

Lusse
MAlfare

Re: Python Eingabe

Post by MAlfare »

Lusse wrote: Tue Apr 20, 2021 10:51 am @ MAlfare
ok, schwerer machen als es sowieso schon ist, soll man es sich ja auch nicht. Also Idle:

Python 3.5.2 (default, Jan 26 2021, 13:30:48)
[GCC 5.4.0 20160609] on linux
Type "copyright", "credits" or "license()" for more information.
In IDLE:
File - > New File
Text eigeben, F5 drücken:

Code: Select all

## 2.1.1
# from daten import alter
alter = 13
if alter > 10:
    print("Haus Regenbogen")
else:
    print("Haus Sonnenschein")
Ausgabe (in anderem Fenster):

Code: Select all

====================================== RESTART: /home/alf/x.py =====================================
Haus Regenbogen
>>> 
In den Einstellung kann man unter anderem festlegen, daß IDLE gleich mit einem Editorfenster startet.
O-rion
Level 3
Level 3
Posts: 137
Joined: Sun Feb 15, 2015 3:05 pm

Re: Python Eingabe

Post by O-rion »

Und im Terminal mußt du trotz der Punkte auch die TAB Taste drücken
bei beiden print Zeilen

Code: Select all

>>> alter = 13
>>> if alter > 10:
...     print("Haus Regenbogen")
...     print("Willkommen")
... 
Haus Regenbogen
Willkommen
>>> 


Dann meckert er auch nicht.
Linux Mint 20.1 MATE
Lusse
Level 1
Level 1
Posts: 8
Joined: Mon Apr 19, 2021 12:34 pm

Re: Python Eingabe

Post by Lusse »

Hallo,

@ o-rion:
So wie Du es jetzt gemacht hast, geht es bei mir auch, allerdings ist das schlicht falsch, denn es führt zu einer falschen Ausgabe. Die Aufgabe lautet doch, daß das Programm im Falle einer Alterseingabe >10 den Text "Haus Regenbogen" ausgiebt, ist das Alter aber =<10, den Text "Willkommen". Da nun aber beide print-Zeilen eingerückt sind, gelten auch beide für die If-Bestimmung. Es werden bei einem Alter >10 beide Texte ausgegeben. Das ist nicht das Ziel gewesen. Bei einem Alter =<10 dürfte gar kein Text mehr ausgegeben werden. Ist auch so, hab ich gerade probiert.

compu@Mint18 ~ $ python3
Python 3.5.2 (default, Jan 26 2021, 13:30:48)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> alter = 13
>>> if alter > 10:
... print("Haus Regenbogen")
... print("Willkommen")
...
Haus Regenbogen
Willkommen
>>> alter = 10
>>> if alter > 10:
... print("Haus Regenbogen")
... print("Willkommen")
...
>>>

@MAlfare
Leider kann ich jetzt beim Schreiben Deinen Text nicht mehr sehen. Aber was Du geschrieben hast ... das gilt nicht ... das gilt nicht ..würde Heinz Erhard sagen. Denn die else- Anweisung kommt erst in der nächsten Übung, in dieser Übung gab es kein else, Du bist also eine Übung zu weit gegangen. Ich hab es trotzdem mal in die Idle-shell (heißt das so?) eingegeben. Da komm ich ganz genau bis zur 4. Zeile.

Python 3.5.2 (default, Jan 26 2021, 13:30:48)
[GCC 5.4.0 20160609] on linux
Type "copyright", "credits" or "license()" for more information.
>>> alter = 13
>>> if alter > 10:
print("Haus Regenbogen")
else:
print("Haus Sonnenschein")

Drücke ich jetzt "Enter", um in die nächste Zeile zu kommen (da soll ja die Ausgabe erscheinen), springt der Cursor genau unter das "p" von print der vorhergehenden Zeile und erwartet wohl die nächste Eingabe. Ich bin aber fertig mit eingeben. Wie hast Du erreicht, daß er das Ergebnis ausgibt. Du schreibst etwas von "Ausgabe in einem anderen Fenster"???

Bitte schau auch nochmal, was Du bei der eigentlichen vorhergehenden Aufgabe eingegeben hast.

MfG

Lusse
MAlfare

Re: Python Eingabe

Post by MAlfare »

Lusse wrote: Tue Apr 20, 2021 3:50 pm @MAlfare
... trotzdem mal in die Idle-shell (heißt das so?) eingegeben.
Ich eben nicht, weil ich keinen Bock habe, mich mit der Befehlszeile von Python herumzuschlagen!
Du solltest lesen was ich geschrieben habe:

In IDLE:
File - > New File: dann geht ein Editorfenster auf. In diesem den
Text eingeben und F5 (zum Ausführen) drücken.
Die Ausgabe erfolgt dann in jenem Fenster, in welchem du jetzt seit Stunden versuchst, 4 Zeilen Code zum Laufen zu bringen.
Ist das denn so schwer?
Oder bist du wirklich ein Masochist?

Mein Code ist die Aufgabe 2.1.1.
Was du da versuchst, ist ein zu tippen, was auf den Folien im Video gezeigt wird.
Also das habe ich nun wirklich nicht abgeschrieben, die meisten Aufgaben habe ich abgespeichert.
Das else kommt übrigens im selben Video.
Lusse
Level 1
Level 1
Posts: 8
Joined: Mon Apr 19, 2021 12:34 pm

Re: Python Eingabe

Post by Lusse »

Hallo,

alles klar, ich habe das File - New File übersehen.

MfG

Lusse
MAlfare

Re: Python Eingabe

Post by MAlfare »

Nun war dieser Kurs leider schon abgeschlossen und ich bekam nur das Lernmaterial zur Verfügung, keine Möglichkeit, Fragen zu stellen und die bearbeiteten Aufgaben kontrollieren zu lassen.
Soweit ich gesehen habe, ist der Kurs in vollem Umfang verfügbar, mit Videos, Selbsttests, Prüfungsaufgaben, Bewertung derselben, Kommentare erbitten,..
Unter: https://open.hpi.de/ Benutzerkonto erstellen, anmelden, oberste Zeile: Kurse, hinterscrollen zu "Kurse im Selbstudium", "Programmieren lernen mit Python" -> Zum Kurs.
Lusse
Level 1
Level 1
Posts: 8
Joined: Mon Apr 19, 2021 12:34 pm

Re: Python Eingabe

Post by Lusse »

Hallo MAlfare,

ganz so ist es nicht. Ich bin ja seit langem bei open.hpi angemeldet und habe dort auch einige Kurse absolviert. Wegen des Programmierkurses hab ich bei open.hpi nachgefragt. Bei allen abgeschlossenen Kursen ist es so, daß man für ein Selbststudium sämtliche Unterrichtsmaterialien herunterladen kann (Videos und pdfs) sowie auch alle Aufgaben einsehen und natürlich auch bearbeiten kann. Aber man kann die Aufgaben nicht mehr zur Überprüfung einsenden und auch im Forum des entsprechenden Kurses keine Fragen mehr stellen. Und selbstverständlich bekommt man auch keinen Abschluß mehr. Das steht auch in Kurzform irgendwo auf der Seite. Ich hatte nur nachgefragt, um mich zu versichern, daß ich das auch richtig verstanden habe.

MfG

Lusse
MAlfare

Re: Python Eingabe

Post by MAlfare »

Lusse wrote: Fri Apr 23, 2021 10:08 am ganz so ist es nicht.
Das, was ich geschrieben habe, habe ich ausprobiert.
Könnte höchstens sein, daß es bei mir funktioniert, weil ich den Kurs schon gemacht habe, als er aktuell war.
Das "Kommentar anfordern" geht heute auch nicht (mehr), Videos, Selbsttests, Prüfungsaufgaben, Bewertung derselben, schon.
Merkwürdigerweise finde ich unter Kommentaranfragen Einträge wie diesen:
Python20 Aufgabe 2.1.2
Vassili| 2021-04-23 12:10:10 +0000

Python20 Aufgabe 3.2.2
Letizia| 2021-04-23 11:56:15 +0000
Mit Unterstützung.
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Python Eingabe

Post by secureIT »

Hi Lusse,

statt Dich ohne Ahnung mit Beispielen veralteter Seiten zu beschäftigen, solltest Du Dir als "blutiger Anfänger" erst mal das nötige Grundwissen aneignen.

z.B. hier :

https://www.python-kurs.eu/

oder gib mal in die Suchmaschine Deines Vertrauens > Python Kurs < ein ......... da findet sich reichlich Lernmaterial mit nachvollziehbaren Beispielen :)
.
Locked

Return to “Deutsch - German”