2017-02-01 5 views
-6

ich verwende processing.pyPython einzelne Zeile für Schleifen

i wurde im Anschluss an diese tut (Java)

https://www.youtube.com/watch?v=H7frvcAHXps

und ich frage mich, wenn ich die gleiche Art von verwenden können, für Schleife in python

for(int y = 0; y < height; y = y + cellSize): 

    for(int x = 0; x < width; x = x + cellSize): 

     rect(x, 0, cellSize, cellSize) 

ich erhalte eine Fehlermeldung, wenn ich versuche, um den Code auszuführen:

processing.app.SketchException: Maybe there's an unclosed paren or quote mark somewhere before this line? 

Ich denke, es ist wahrscheinlich eine einfache, aber etwas andere Art und Weise der Verwendung die gleiche Art von verschachtelten for-Schleifen zu tun (in einer einzigen Zeile) in Python

+0

Hallo, willkommen zu SO, 'for' Schleife funktioniert nicht das gleiche in Python. Bitte überprüfen Sie ein grundlegendes Tutorial wie https://wiki.python.org/moin/ForLoop –

+3

Sie haben auch das 'public static void main'-Bit weggelassen. –

Antwort

2

Dies wäre das äquivalent in Python sein. In range(0, height, cellSize), 0 und height sind die Grenzen des Bereichs und cellSize ist, wie viele Out Counter Inkremente.

for y in range(0, height, cellSize): 
    for x in range(0, width, cellSize): 
     rect(x, 0, cellSize, cellSize) 
+1

... obwohl Sie selten, wenn überhaupt, diese Konstruktion in Python verwenden. Sie schleifen stattdessen Container oder Generatoren. Höchstwahrscheinlich würden Sie hier eine Sammlung von Zellen haben und würden einfach 'für Zelle im Raster tun:' – spectras

+0

Wie haben Sie eine Sammlung von Zellen? ohne 2 verschachtelte Schleifen? –

+1

@KippFhtagn> Entweder indem Sie Ihre Objekte so strukturieren, dass Sie tatsächlich ein Collection-Objekt haben, oder indem Sie einen [Generator] erstellen (http://stackoverflow.com/a/1756156/3212865), der * trennt * von * was zu * mache * während der Schleife. – spectras

Verwandte Themen