Ein Buch, das für Python-Anfänger geeignet sein soll und dann einen Anfänger ausgerechnet in Sachen Einrückung so im Regen stehen lässt? Ich kenne es nicht, aber allein das lässt mich doch arg zweifeln (allerdings zusammen mit schlechten Erfahrungen mit andern Galileo-Büchern).garreth hat geschrieben: das Buch ist schon gut. Es gibt nur einige Sachen, die unsauber sind. Ob dies so gewollt ist, um einen blutigen Anfänger nicht zu sehr zu verwirren, kann ich nicht beurteilen.
Blutiger Anfänger, verzweifelt, ledig, alt
- Lebensretter
- User
- Beiträge: 8
- Registriert: Montag 12. Januar 2015, 15:56
- Wohnort: CGN
Also das mit den Einrückungen ist echt so ne Sache. Sowohl das IDLE-Programm, als auch das Buch geben mir diese falsch an. Ich muss selbst rumprobieren und mithilfe des Feedbacks hier das Ding zurechtfummeln. Aber ich beiss mich schon durch. Im Grunde komme ich gut voran. Bin gerade bei Tupeln angelangt. Insgesamt versteh ich die Logik ganz gut. Woran es immer wieder hakt, sind diese "Kinderkrankheiten".
Beispiel: Ich schreibe Code und während ich tippe, sehe ich wie es funktioniert. Ich speichere ab und starte und er meldet mir direkt in der ersten Line einen Fehler. Das hab ich öfter gehabt, obwohl der Code so getippt wurde wie im Buch..
Eine Frage: Wie bekomme ich "kaputten code" aus dem IDLE-programm wieder raus ? Ich hab schon mehrfach Sachen probiert das rauszuschneiden bzw. ungeschehen zu machen. Nix klappt. Ich will print(Mehrf. ZUweisung:", x, y, z) rauskriegen. Aber es will einfach nicht raus. Weiter unten sieht man auch meine Probleme mit den Einrückungen. Freue mich auf kurzes Feedback eurerseits
Beispiel:
Beispiel: Ich schreibe Code und während ich tippe, sehe ich wie es funktioniert. Ich speichere ab und starte und er meldet mir direkt in der ersten Line einen Fehler. Das hab ich öfter gehabt, obwohl der Code so getippt wurde wie im Buch..
Eine Frage: Wie bekomme ich "kaputten code" aus dem IDLE-programm wieder raus ? Ich hab schon mehrfach Sachen probiert das rauszuschneiden bzw. ungeschehen zu machen. Nix klappt. Ich will print(Mehrf. ZUweisung:", x, y, z) rauskriegen. Aber es will einfach nicht raus. Weiter unten sieht man auch meine Probleme mit den Einrückungen. Freue mich auf kurzes Feedback eurerseits
Beispiel:
Code: Alles auswählen
>>> #1: Mehrfache Zuweisung
>>> x, y, z = 3, 5.2, "hallo"
>>> print(Mehrf. ZUweisung:", x, y, z)
SyntaxError: invalid syntax
>>> print("Mehrf. Zuweisung:", x, y, z)
Mehrf. Zuweisung: 3 5.2 hallo
>>> #2: Auswirkungen erst danach
>>> a= 12
>>> b = 15
>>> c = 22
>>> a, b, c = c, a a+b
SyntaxError: invalid syntax
>>> a, b, c = c, a, a+b
>>> print("Auswirkung:", a, b, c)
Auswirkung: 22 12 27
>>>
>>> # Verpacken eines Tupels
>>> p = 3, 4
>>> print("Verpackt:", p)
Verpackt: (3, 4)
>>>
>>> #4: Entpacken eines Tupels
>>> m, n = p
>>> print("Entpackt: m:", m, "n:", n)
Entpackt: m: 3 n: 4
>>> #5: Falsche Zuweisung eines Tupels
>>> try:
s, t = 3, 4, 12
print(s, t)
except:
SyntaxError: unindent does not match any outer indentation level
>>> try:
s, t = 3, 4, 12
except:
SyntaxError: invalid syntax
>>> try:
s, t = 3, 4, 12
print(s, t)
except:
print("Fehler")
Fehler
>>> #6: Rest in Liste
>>> print()
>>> x, *y, z = 3, 5.2, "hallo", 7.3, 2.9
>>> print(x)
3
>>> print(y)
[5.2, 'hallo', 7.3]
>>> print(z)
2.9
>>>
- Lebensretter
- User
- Beiträge: 8
- Registriert: Montag 12. Januar 2015, 15:56
- Wohnort: CGN
Es ist halt echt frustrierend. Weil es anfängt Spass zu machen und immer wieder wird man ausgebremst.
@Lebensretter: was Du da siehst, ist der interaktive Modus, da was rauslöschen zu wollen, widerspricht sich, weil es ja schon ausgeführt wurde und damit futsch ist. Auch ist der interaktive Modus nicht dafür geeignet längere Programmteile einzugeben, sondern nur Einzeiler. Für längere Dinge nimmt man am besten einen Editor, der die Einrückung automatisch beherrscht, da wirst Du durch ">>>" dann auch nicht irritiert. Aber Du hast ja schon die wichtigste Lektion gelernt: einfach mal ausprobieren und sich nicht entmutigen lassen.
hi
auch wenn ich absoluter Anfänger bin, möchte ich dennoch was zu den Einrückschwierigkeiten sagen, falls es sich um das Problem handelt, was ich auch oft hatte
1. Auch #Kommentare müssen korrekt eingerückt sein (hat bei mir auch ne weile gedauert bis ich das akzeptieren konnte )
2. Ich verwende oft die TAB-Taste um die Einrückung von 4 Leerzeichen vorzunehmen. Dazu muss aber der genutzte Editor so eingestellt sein, dass er kein Tabulatorzeichen macht, sondern stattdessen halt 4 Leerzeichen. Wenn du Tabulatorzeichen und Leerzeichen mischst, kommt eig immer eine Fehlermeldung diesbezüglich. In Notepad++ (den editor kann ich weiterempfehlen), kannst du alle Tabulatorzeichen durch Leerzeichen ersetzen lassen
Ja, das sind die 2 Punkte die ich am Anfang oft falsch gemacht habe, vllt hilfts ja
auch wenn ich absoluter Anfänger bin, möchte ich dennoch was zu den Einrückschwierigkeiten sagen, falls es sich um das Problem handelt, was ich auch oft hatte
1. Auch #Kommentare müssen korrekt eingerückt sein (hat bei mir auch ne weile gedauert bis ich das akzeptieren konnte )
2. Ich verwende oft die TAB-Taste um die Einrückung von 4 Leerzeichen vorzunehmen. Dazu muss aber der genutzte Editor so eingestellt sein, dass er kein Tabulatorzeichen macht, sondern stattdessen halt 4 Leerzeichen. Wenn du Tabulatorzeichen und Leerzeichen mischst, kommt eig immer eine Fehlermeldung diesbezüglich. In Notepad++ (den editor kann ich weiterempfehlen), kannst du alle Tabulatorzeichen durch Leerzeichen ersetzen lassen
Ja, das sind die 2 Punkte die ich am Anfang oft falsch gemacht habe, vllt hilfts ja
- Lebensretter
- User
- Beiträge: 8
- Registriert: Montag 12. Januar 2015, 15:56
- Wohnort: CGN
Herzlichen Dank für die erneuten Tipps. Hab dann mit dem input gegoogelt und bin auf die Seite der Uni Frankfurt gestossen, wo auch direkt ActivePython empfohlen wird. Mein IDLE-Teil hab ich auch umgestellt.
Werde auch den anderen Tipp beherzigen und einfach weiter rumprobieren. Irgendwann wirds kontinuierlich klappen. Da bin ich sicher. Ich hab auf jeden Fall Feuer gefangen. Nur das ist wichtig.
Werde auch den anderen Tipp beherzigen und einfach weiter rumprobieren. Irgendwann wirds kontinuierlich klappen. Da bin ich sicher. Ich hab auf jeden Fall Feuer gefangen. Nur das ist wichtig.
@Serpens66: Kommentare müssen nicht korrekt eingerückt werden. Man sollte das aber trotzdem tun weil sie sonst die eingerückte Struktur des Quelltextes optisch ”zerstören” und man rückt ja gerade deswegen ein, damit man die Codestruktur leicht erfassen kann.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
@BlackJack: Ich glaube Serpens66 meint Docstrings
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ich bin auch ein blutiger Anfänger und kann das Buch das ich benutze nur empfehlen,
ich habe hier einen Link davon auf Amazon für dich, mir hilft das Buch sehr gut bei meinen nicht vorhandenen Kentnissen
Der Link: http://www.amazon.de/Python-kinderleich ... nderleicht
ich habe hier einen Link davon auf Amazon für dich, mir hilft das Buch sehr gut bei meinen nicht vorhandenen Kentnissen
Der Link: http://www.amazon.de/Python-kinderleich ... nderleicht