Seite 1 von 1

Problem obwohl es keins gibt...

Verfasst: Montag 10. April 2017, 17:02
von Krypton514
Ich bin gerade dabei, einen Zyklus zu Programmieren, was aber wahrscheinlich nicht so wichtig ist. Es ist nur so, wenn ich das Programm durchlaufen lasse, dann meint der Computer invalid syntax, doch ich verstehe nicht warum, da ich mir eigentlich sicher bin alles richtig gemacht zu haben.

Code: Alles auswählen

fuchs = 1
hase = 20
grass = 100

for x in range(0, 20):
    fuchs = int(fuchs * (1 + 0.5 * hase)
    hase = int(hase * (2 + 10 * grass - 0.5 * fuchs))
    grass = int(grass * (10 - 10 * hase))

    print("fuchs = %s" % fuchs)
    print("hase = %s" % hase)
    print("grass = %s" % grass)
    print()
Könnte da jemand mir behilflich sein? Vielen Dank im Voraus.

Re: Problem obwohl es keins gibt...

Verfasst: Montag 10. April 2017, 17:26
von BlackJack
@Krypton514: Er wird nicht einfach nur sagen *das* es einen Syntaxfehler gibt, sondern auch wo er ihn bemerkt hat. Das heisst nicht das der in genau der Zeile sein muss, sondern das ab der Zeile der vorhergehende Code keinen Sinn mehr macht. In Deinem Fall ist der Fehler in der Zeile davor. Zähl da mal die Klammern.

Re: Problem obwohl es keins gibt...

Verfasst: Montag 10. April 2017, 17:59
von Krypton514
Ups... :| Ich habe das vergessen... Also der Syntaxfehler liegt in der 7. Zeile bei

Code: Alles auswählen

hase = int(hase * (2 + 10 * grass - 0.5 * fuchs))
Das Programm meint, dass das erste hase ein Syntaxfehler ist.

Re: Problem obwohl es keins gibt...

Verfasst: Montag 10. April 2017, 18:21
von __deets__
Und hast du dir mal BlackJacks Antwort genau durchgelesen? Er hat dir schon verraten, wo das Problem liegt...

Re: Problem obwohl es keins gibt...

Verfasst: Montag 10. April 2017, 18:43
von Krypton514
Oh danke... Ich sollte wohl in Zukunft mehr aufpassen...

Re: Problem obwohl es keins gibt...

Verfasst: Montag 10. April 2017, 18:53
von BlackJack
@Krypton514: Wie gesagt bekommst Du bei einem Syntaxfehler nicht die Stelle des Fehlers sondern die Stelle an dem der Compiler merkt das etwas nicht stimmen kann. In der Zeile davor wusste er das noch nicht weil die Klammer ja in der nächsten Zeile noch hätte stehen können.