Anfänger 14 Jahre braucht Hilfe

  • Habe ein Anfängerproblem und brauche Hilfe. Habe versucht, meine ersten kleinen Python-Programme zu schreiben. Wenn ich eines der Programme mit F5 starten will, bekomme ich die Fehlermeldung "There is an error in your program: invalid syntax" und im Programmtext wird die "7" in der Versionsnummer "Python 2.7.3 ..... " rot markiert. Hieran scheitert bei allen Programmen der weitere Ablauf. Habe schon alles Mögliche versucht, aber ohne Erfolg.
    Robin


  • Poste doch mal Deinen Code in code tags.
    Welche IDE benutzt Du?


    Python 2.7.9 (default, Mar 8 2015, 00:52:26
    [GCC 4.9.2] on linux2
    Type "copyright", "credits" or "license ()" for more information.
    >>> import random
    >>> zahl = random.randrange(1000); tipp = 0; i = 0
    >>> while tipp != zahl:
    tipp = input ("Dein Tipp:")
    if zahl < tipp:
    print "Die gesuchte Zahl ist kleiner als ",tipp

    if zahl > tipp:
    print "Die gesuchte Zahl ist groesser als ",tipp

    i += 1
    >>>print "Du hast die Zahl beim ",i,". Tipp erraten"

  • Der Code ist logisch OK. Ob die Einrückungen stimmen kann ich nicht beurteilen das Du keine code tags benutzt hast (Im Editor ist es das 5te Icon von rechts welches code tags einfügt). In Python ist es sehr wichtig die Einrückungen richtig zu haben.

    Du hast auch nicht gesagt welche IDE Du benutzt - also welches Tool um Deinen Code zu erstellen zum Laufen zu lassen. PF5 scheint da ja irgendwas zu bewirken. Nur ohne Wissen welches Tools Du da benutzt ist es schwer weiterzuhelfen.


  • Der Code ist logisch OK. Ob die Einrückungen stimmen kann ich nicht beurteilen das Du keine code tags benutzt hast (Im Editor ist es das 5te Icon von rechts welches code tags einfügt). In Python ist es sehr wichtig die Einrückungen richtig zu haben.

    Du hast auch nicht gesagt welche IDE Du benutzt - also welches Tool um Deinen Code zu erstellen zum Laufen zu lassen. PF5 scheint da ja irgendwas zu bewirken. Nur ohne Wissen welches Tools Du da benutzt ist es schwer weiterzuhelfen.

    Hallo Framp,

    vielen Dank erst mal für Deine Mühe. Wie gesagt, bin noch absoluter Anfänger.
    1.
    Habe im Menüpunkt Entwicklung die Möglichkeit Python 2 (IDLE) oder Python 3 (IDLE)
    auszuwählen, um den Code zu schreiben. Habe es schon mit beiden Möglichkeiten versucht,
    das Schreiben ist auch kein Problem. Ist das mit Deiner Frage zum IDE gemeint?
    2.
    Zu den Einrückungen: Diese werden beim Schreiben des Codes automatisch vorgegeben,
    so dass die doch dann richtig stehen müssten. Habe auch keine Möglichkeit, wie von Dir
    beschrieben, das 5. Icon von rechts für "Code tags" heranzuziehen.

    Da fehlt mir wohl noch an irgendeiner grundlegenden Stelle Wissen?
    Wäre schön, wenn Du mir noch weiter helfen könntest. Danke!

    Robin

  • Hallo,

    also bei mir funktioniert der Code, wenn ist ihn in eine Datei speichere und mit Python 2.7 ausführen.

    Zu einer Lösung wird der gefragte aber nie kommen, weil `input` eine String liefert, `randrange` aber einen Integer-Wert:

    Code
    >>> tipp = input ("Dein Tipp:")
    Dein Tipp:1
    >>> zahl=1
    >>> tipp==zahl
    False
    >>>

    Gruß, noisefloor
    Automatisch zusammengefügt:
    Hallo,

    Nachtrag: Das

    Code
    Python 2.7.9 (default, Mar 8 2015, 00:52:26
     [GCC 4.9.2] on linux2
    Type "copyright", "credits" or "license ()" for more information.

    gibt's du _nicht_ mit ein, richtig?

    Gruß, noisefloor

    Einmal editiert, zuletzt von noisefloor (27. Dezember 2015 um 17:06)

  • Da es am Anfang schon steht lasse ich es stehen, oder muss man das vorher löschen?

  • Hallo,

    ich denke, ich ahne, was dein Fehler ist...

    Also, so sollte es funktionieren;

    1. neues Editorfenster öffnen: File -> New File
    2. Code eingeben:

    Code
    import random
    zahl = random.randrange(1000); tipp = 0; i = 0
    while tipp != zahl:
        tipp = input ("Dein Tipp:")
        if zahl < tipp:
            print "Die gesuchte Zahl ist kleiner als ",tipp
        if zahl > tipp:
            print "Die gesuchte Zahl ist groesser als ",tipp
        i += 1
    print "Du hast die Zahl beim ",i,". Tipp erraten"


    3. Speichern
    4. Skript ausführen, z.B. über F5

    Wie gesagt, eine Lösung wird es nicht geben, weil siehe oben.

    Gruß, noisefloor


  • Da es am Anfang schon steht lasse ich es stehen, oder muss man das vorher löschen?


    Nein, das ist kein Python Code. Der muss weg. Es muss mit der import Zeile beginnen ;)

    noisefloor: Du weisst dass die Zahlen in ASCII auch lexikographisch sortiert sind und deshalb auch Stringvergleiche mit > und < funktionieren als würdest Du den Operator auf Integerzahlen ausführen ? ;)

  • noisefloor
    Bist du sicher, dass du dein Vergleich nicht mir Python3 gemacht hast? Denn in Python 2.x wird das Argument von ``input()`` mit evil() äh ``eval()`` umgewandelt, was wiederum dann ein Integer erzeugt.

    Zum obigen Programm-Code sein noch gesagt, dass das zweite ``if`` unnötig ist und durch ``else`` ersetzt werden sollte. Auch die Namen der Variablen sollten sinnvoller gewählt werden.

  • Für Anfänger empfehle ich das Buch "Hello World" von Warren d. und Carter Sande.
    Da sind solche Beispielprogramme drin und es wird sanft eingeführt, angefangen von der Installation auf Windows über Direktmodus bis zur Programmierung.

    Es ist sicher nicht ganz geschickt, ganz ohne Buch auskommen zu wollen und mit solchen Fragen in diesem Forum zu posten. Hier wird zwar spontan geholfen, aber schon steht man vor dem nächsten Problem.

    Softwarefehler suchen ist wie Pilze suchen. Wenn man erst einen gefunden hat, findet man meist mehrere.

    Bei Hardware ist es schlimmer, da findet man bereits Fehler wenn man gar keine sucht!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!