Python Hilfethread

Gamer090

PCGH-Community-Veteran(in)
Hallo zusammen

Habe zwar erst vor kurzem damit angefangen mit Python zu schreiben aber aller Anfang ist Schwer und ich habe gleich zu Beginn irgendwas Falsch gemacht :D Dieser Thread soll aber nicht nur für mich sein sondern für jeden der mal Hilfe braucht in Python.

Wichtig! Bitte angeben mit welcher Python Version ihr schreibt, es gibt ein paar Unterschiede zwischen Python 2 und 3, bin mir nicht sicher ob es gleich ersichtlich ist.

Was stimmt hier nicht? Ich habe es von dieser Anleitung und genau so eingegeben wie es dort steht trotzdem kriege ich einen Error an der markierten Stelle. Fehler können passieren, der Rest den ich bis jetzt getippt habe hat immer funktioniert.

Code:
# This programm says hello and asks for my name.

print('Hello world!')
print('What is your name?') # ask for their name
myName = input ()
print('It is good to meet you, ' + myName)
print(The [COLOR=#ff0000]length of your name is:')
      print(1en(myName))
print('What is your age?') # ask for their age
      myAge = input()
print('You will be ' + str(int(myAge) +1) +' in a year')

Als Meldung erschein "Invalid Syntax" Also stimmt was im Text nicht aber was muss denn da stehen damit es stimmt?

Vielen Dank
 
Ich bin zwar kein (py-)Experte aber

print(The length of your name is:')
Vor The fehlt wohl das ' und bei print(1en(myName)) ist die EINS bestimmt ein kleines L.
 
Ich bin zwar kein (py-)Experte aber

print(The length of your name is:')
Vor The fehlt wohl das ' und bei print(1en(myName)) ist die EINS bestimmt ein kleines L.

Du hattest Recht, jetzt passt es :daumen:

Schon krass wie genau man aufpassen muss beim eintippen :)

Code:
>>> print('Hello World')
Hello World
>>> print('What is your name?')
What is your name?
>>> myName = input ()
tom
>>> print('It is good to meet you,' +myName)
It is good to meet you,tom
>>> print('The length of your name is:')
The length of your name is:
>>> print(len(myName))
3
>>> print('What is your age?')
What is your age?
>>> myAge = input ()
28
>>> print('You will be ' + str((int(myAge) +1) +' in a year')
      28
      
SyntaxError: invalid syntax
>>> print('You will be ' + str(int(myAge) +1) +' in a year')
You will be 29 in a year

Jetzt hat es funktioniert. :)
 
2 Sachen:

1) Wenn du IDLE benutzt, kannst du oben links File > New File benutzen. Dann hast du auch Syntax-Highlighting und würdest solche Fehler sehr einfach erkennen. Das Programm kannst du dann mit F5 / Run > Run Module ausführen oder mit Alt-X / Run > Check Module auf Syntaxfehler überprüfen.

2) Man kann sowohl Anführungszeichen als auch Hochkommata für Strings benutzen:
Code:
print("hallo")
print('hallo')
Das Anführungszeichen erkennt man meiner Meinung nach besser und es ist auf einer deutschen Tastatur auch besser zu erreichen als das Hochkomma, deswegen würde ich eher Anführungszeichen empfehlen.

Edit: Wobei, in der interaktiven Shell solltest du auch Syntax Highlighting haben. Wenn dein String so bunt ist wie auf dem Bild, muss da irgendwas falsch sein.
syntax_highlighting.PNG
 
Das mit dem Check Module kannte ich noch gar nicht aber werde ich in Zukunft öfters verwenden, Danke für den tipp :daumen:

Ein Teil des Textes ist in der Shell immer bunt oder? ;)
 
Die Farben habe ich noch nicht genauer angeschaut welche Farbe was bedeutet weiss ich gar nicht.
 
Wenn man nicht gerade den Windows Editor verwendet, bietet jeder Editor Syntax-Highliting an.
Meine Empfehlungen wären Notepad++ für Windows und gedit für Linux.

Ich würde jetzt auch gerne mal in Python einsteigen, hatte bisher aber noch nicht wirklich Gelegenheit dazu.
 
IDLE (Integrated Development and Learning Environment) ist schon ok für den Anfang. Man kann die interaktive Shell ganz gut als sehr sehr simplen Debugger verwenden.
Wenn man damit dann zurechtkommt kann man auf eine richtige IDE umsteigen und sich über die ganzen netten Features freuen, aber als Anfänger verwendet man sonst mehr Zeit für das Lernen der IDE als für das Lernen der Sprache...
 
Wenn man einfach mal die Sprache erkunden will und nicht erst Kompiler usw. installieren möchte, gibt es auch Online-Tools:
https://www.onlinegdb.com

onlinegdb.png

@Gamer090 nutzt du auch ein Buch zum lernen, oder machst du das komplett online?
 
Zuletzt bearbeitet:
Wenn man einfach mal die Sprache erkunden will und nicht erst Kompiler usw. installieren möchte, gibt es auch Online-Tools:
https://www.onlinegdb.com

Anhang anzeigen 1045475

@Gamer090 nutzt du auch ein Buch zum lernen, oder machst du das komplett online?

Komplett Online, Bücher will ich nicht immer mit mir rumtragen, wenn ich mir vorstelle wie gross und schwer diese Bücher sein müssen wenn da so viel drin steht wie auf manchen Webseiten :D Schreibe aber Offline auf IDLE und nicht in dem Online Tool das du verlinkt hast, habe sowas schon auf ein paar Webseiten gefunden aber ich möchte mich an die Software gewöhnen die ich seit Anfang nutze. Und wenn ich Fortgeschritten bin und nicht mehr so viele Anleitungen brauche, dann will ich auch komplett Offline schreiben können :)

IDLE (Integrated Development and Learning Environment) ist schon ok für den Anfang. Man kann die interaktive Shell ganz gut als sehr sehr simplen Debugger verwenden.
Wenn man damit dann zurechtkommt kann man auf eine richtige IDE umsteigen und sich über die ganzen netten Features freuen, aber als Anfänger verwendet man sonst mehr Zeit für das Lernen der IDE als für das Lernen der Sprache...

Wo sind die Unterschiede der beiden? Macht es überhaupt einen Unterschied?
 
Welche beiden? :P Die Interaktive Shell ist der Teil von IDLE, bei dem Befehle direkt einzeln ausgeführt werden, wenn du sie eintippst.

Wenn du etwas weiter bist, kann ich auch PyCharm empfehlen. Allein schon wegen der GIT Integration... Aber das sind Dinge für später.
 
Oder Anaconda wär noch ne Option.
Mach zwar nicht viel mit Python aber im Moment benutz ich das :-)
Ist aber glaub eher speziell für Machinelearning.
 
Wie habt ihr eigentlich Python gelernt ? Ich nutze auf dem Smartphone die Apps: Py und Sololearn.

Habe trotzdem das Gefühl nicht wirklich viel zu lernen. Klar es dauert lange bis man „Profi“ ist aber auch wenn ich in den Kursen das meiste auf anhieb richtig habe, fällt es mir schwer alles zu merken wenn wieder was gefragt wird was schon länger her ist.

Alles aufschreiben wäre besser oder? Habe aber nicht täglich Zeit und Lust zu lernen. :D

Cybrary und Udemy kenne ich auch aber die haben auch in den Apps nur Videos
 
Ich habe mir ein Ziel gesetzt und dann einfach die Sachen gelernt, die ich dafür gebraucht habe. Mein Ziel war ein Kartenspiel übers Internet mit Freunden spielen zu können.

Programmieren ist ja kein Selbstzweck, Programmiersprachen sind Werkzeuge. Und im Gegensatz zu herkömmlichen Werkzeugen kann man beim Programmieren einfach alles ausprobieren.

Außerdem sind die Aufgaben von adventofcode.com meiner Meinung nach sehr praktisch. Man bekommt da immer eine Aufgabe mit einer Eingabe und kann dann sein Ergebnis überprüfen, außerdem gibt es auf reddit jede Menge Lösungsvorschläge, die man sich anschließend noch angucken kann.
Fängt leicht an und wird dann immer schwerer. Und es gibt keinerlei Hilfe, wie man die Aufgaben lösen soll. Stattdessen muss man selbst nachdenken, wie man die Aufgaben lösen kann, was meiner Meinung nach sehr wichtig ist.

Von Kursen halte ich nicht besonders viel. Ich informiere mich lieber direkt darüber, wie ich gerade anfallende Probleme lösen kann. Von diesen Kursen gehen immer mindestens 50% ins eine Auge rein und aus dem anderen wieder raus. Lieber direkt versuchen, ein Problem zu lösen und mit Stackoverflow arbeiten...
 
Adventofcode fängt wirklich sehr sehr simpel an. Du bekommst eine Eingabe wie diese (nur sehr viel länger) und sollst dann ein Programm schreiben, dass alle diese Zahlen addiert... Simpler geht es kaum. Mit jedem Schritt kommt dann einfach ein wenig Komplexität dazu, sodass die späteren Aufgaben z.B. nicht mehr mit naiven Algorithmen lösbar sind.

-8
-13
+17
+7
+12
-18
+19
+14
-19
+16
-10
 
Zurück