Why not start at break 0 not break 1, similar to sequences starting at index 0? 

Maybe if break alone without integer, it breaks from the loop it is at similar to the behavior we have right now in Python. 

E.g., 

for matrix in matrix_array : # Index 0

    for x in range(0,10) : # Index 1

        for y in range(0,10) : # Index 2

            for z in range(0,10) : # Index 3

                if matrix[x][y][z] == 0 : 

                    print("Found !")

                    continue 3 # which is equivalent to continue/break alone


 

On Dec 3, 2020, at 9:04 PM, Aveheuzed <a.masson555@ntymail.com> wrote:

Hi everyone,

I'm not in favor of naming loops, as this looks too much like variable. (What happens when variable names and loop names names collide ? Does the loop identifier bind to anything ?)

On the other hand, I like the feature very much, and I have thought about it in the past. My take on this matter was to allow `break` and `continue` to take an optional integer parameter (default 1) for the number of loops to break.

For example, for searching a value in matrixes :

```py

for matrix in matrix_array :

    for x in range(0,10) :

        for y in range(0,10) :

            for z in range(0,10) :

                if matrix[x][y][z] == 0 :

                    print("Found !")

                    continue 4

    print("This matrix has no zero in it…")

```

Here, the `continue 4` would make the program flow jump to the next iteration in the outermost loop.

This seems much cleaner to me than a flag to check against at the beginning of each loop, and is certainly much more acceptable than bringing back the evil `goto`.

Not involving any identifier looks like a plus to me, as it would not require changes in the loop semantics, only an optional parameter in `break` and `continue`.


Now the questions I haven't yet found answers about are :

  • Is `break 0` allowed ?
  • Is `x = 3; break x` allowed ?
  • What does happen with `break "not an integer"` ? (an Exception gets raised, I guess, but…)


What do you think about this fork of the proposal ?


Regards,

Alexis Masson

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/RGY6MNTYEJ252XQQDGIKKBLQP3ZIUY4W/
Code of Conduct: http://python.org/psf/codeofconduct/