I see in the code on this Sage wiki page the following code:
@interact
def _(order=(1..12)):
Is this (1..n)
syntax unique to Sage or is it something in Python? Also, what does it do?
It's Sage-specific. You can use preparse
to see how it is desugared to:
sage: preparse("(1..12)")
'(ellipsis_iter(Integer(1),Ellipsis,Integer(12)))'
See here for documentation of ellipsis_iter
, here for information on the preparser.
There was a Python PEP to add this notation to Python, but it was rejected. Robert Bradshaw decided to implement it anyways, but for the Sage preparser. He implemented the following:
(a..b) -- like xrange, so an iterator
[a..b] -- list, including endpoints
[a,b,..,c] -- arithmetic progression
This is not Python syntax. I would guess that it creates a range from 1 to 12.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With