Anfängerfragen...

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
Neugierling
User
Beiträge: 4
Registriert: Donnerstag 13. Februar 2014, 14:09

...und habe Fragen, auf die ich hier vielleicht eine Antwort bekommen kann, bin also sehr gespannt:

Ich interessieren mich seit Neuem ein wenig für's Programmieren,
und ein Bekannter meinte, Python wäre zum Einsteigen ideal.

Also hab ich mal bei http://www.freenetpages.co.uk/hp/alan.gauld/german/ (gefunden über google angefangen, komme aber schon nicht weiter. Mein Prob:

Wenn ich Python 2.7.6 auf meinem Rechner (Windows 7/64Bit-Version) starte (Start -> Python),
habe ich ja bereits Tcl 8.4 und 8.5 dort enthalten. Trotzdem: wenn ich
% put "Hallo Welt"
eingebe, kommt die Meldung:
SyntaxError: invalid syntax
, und das "%" ist rot gemarkert.

Versuche ich mit der Eingabe von tclsh84 oder 85 tcl zu starten, erhalte ich die Meldung:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
tclsh85
NameError: name 'tclsh85' is not defined
Also, ich würd das schon gern lernen, komme da aber nicht weiter und weiß nicht, wen ich sonst fragen sollte.
Kann mir hier jemand helfen?

Gruß
der Neugierling
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Neugierling hat geschrieben:
% put "Hallo Welt"
Woher hast du diese Syntax? Das ist alles mögliche, aber kein Python.

Wenn ich auf der von dir angegebenen Seite in den Beispielen so etwas wie "Python 2.0 (#8, Oct 16 2000, 17:27:58) [MSC 32 bit (Intel)] on win32" sehe, dann wird mir ganz anders. Python 2.0 ist so etwas von veraltet, dass man eine Menge falsch lernen kann wenn man sich daran orientiert. Das offizielle Tutorial ist auf aktuellem Stand.

Edit: Ah, du wirfst hier TCL und Python durcheinander. Fang mit einem davon an.
Zuletzt geändert von /me am Donnerstag 13. Februar 2014, 14:45, insgesamt 1-mal geändert.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Willkommen zu Python und hier im Forum!

In Python ist kein Tcl enthalten - Python bringt Tk mit das unter Tcl entstanden ist, nicht dasselbe! - darum macht es auch keinen Sinn es im Python-Interpreter starten zu wollen.

Gleiches gilt fuer den Tcl Befehl: Python versteht den nicht und darum der Fehler, noch dazu: "%" ist der Prompt, den du nicht eingeben musst/solltest.

Und dann solltest du lieber erstmal eine Sprache auf einmal lernen und nicht gleich zwei.

http://learnpythonthehardway.org/ wird oft zum Einstieg empfohlen und dann gibt es noch das Tutorial in der Python Dokumentation (was eher weniger fuer Programmiereinsteiger geeignet ist).
Neugierling
User
Beiträge: 4
Registriert: Donnerstag 13. Februar 2014, 14:09

Diesen Satz finde ich als Beispiel bei http://www.freenetpages.co.uk/hp/alan.gauld/german/, zum Nachmachen empfohlen,
im Absatz "Der Gebrauch von TCL"
Neugierling
User
Beiträge: 4
Registriert: Donnerstag 13. Februar 2014, 14:09

Ok, ich sollte mir also wohl einen anderen Einstieg suchen.
Werde eure Links mal checken, wieviel ich davon kapiere.

Danke für alle Antwort!

Öhm... gibt es sowas auch auf deutsch?
Das war der Grund, warum ich auf dieser v.g. Website gelandet bin...
Zuletzt geändert von Neugierling am Donnerstag 13. Februar 2014, 14:50, insgesamt 1-mal geändert.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Ich bin immer davon ausgegangen dass Python eine Bridge über TCL nutzt um TK darzustellen. Anders kann ich mir nicht die unpython. Heransgehensweise beim ein- & auslesen von Werten erklären.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

In meiner Signatur findest du einen Link zur Uebersetzung des Tutorials fuer Python3.x

Python for Kids wird Einsteigern auch oft empfohlen. Auf lange Zeit fuehrt allerdings kein Weg daran vorbei technisches (!) Englisch verstehen zu koennen.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Das Tutorial ist mit "Katastrophe" noch sehr wohlwollend umschrieben.

Um einen Quelltext daraus zu zeigen:

Code: Alles auswählen

class Kreis:
    def __init__(self, radius):
        self.radius = radius
    def berechneFlaeche(self):
        import math
        return math.pi*(self.radius**2)
Das Tutorial baut auf Python 2 auf und lässt "Kreis" nicht von "object" erben. Importe werden in Methoden ausgeführt. Der Style Guide for Python Code wird ignoriert. Natürlich wird dann im Text auch noch fälschlicherweise "__init__" als Konstruktor bezeichnet.


An einer anderen Stelle sieht man so etwas:

Code: Alles auswählen

   for i in range(len(wordList)):
       if len(wordList[i]) == 0:
         del(wordList[i])
Hier wird das Antipattern mit range(len()) verwendet und dann auch noch die Liste manipuliert über die man gerade iteriert.

Um mal zu zeigen was passieren kann:

Code: Alles auswählen

>>> data = [1, 2, 1, 1, 3, 1, 1, 4, 1, 5, 1, 6]
>>> for i in range(len(data)):
	if data[i] == 1:
		del(data[i])

Traceback (most recent call last):
  File "<pyshell#8>", line 2, in <module>
    if data[i] == 1:
IndexError: list index out of range
>>> data
[2, 1, 3, 1, 4, 5, 6]
Finger weg von diesem "Tutorial"! :!:
Neugierling
User
Beiträge: 4
Registriert: Donnerstag 13. Februar 2014, 14:09

Ok, das kann ich als Neugierling natürlich nicht beurteilen. :K

Also werde ich diese Site schließen, und nach etwas sinnvollem schauen.

Das Blöde ist halt, dass immer alles nur in englisch erklärt wird, wobei ich
ja nichts gegen die Vokabellernerei habe, aber man müsste es ja erstmal verstehen können... :?:

Daher ein besonderer Dank erstm,al an Cofi für das deutsche Angebot, aber euch anderen auch! :D
Antworten