List of Python versions Announcing the arrival of Valued Associate #679: Cesar Manara ...
How widely used is the term Treppenwitz? Is it something that most Germans know?
Using audio cues to encourage good posture
When were vectors invented?
What exactly is a "Meth" in Altered Carbon?
How to call a function with default parameter through a pointer to function that is the return of another function?
What is the meaning of the new sigil in Game of Thrones Season 8 intro?
What's the meaning of 間時肆拾貳 at a car parking sign
Ring Automorphisms that fix 1.
Okay to merge included columns on otherwise identical indexes?
How to bypass password on Windows XP account?
Why did the IBM 650 use bi-quinary?
Echoing a tail command produces unexpected output?
Why do people hide their license plates in the EU?
3 doors, three guards, one stone
Why did the rest of the Eastern Bloc not invade Yugoslavia?
How to align text above triangle figure
Extract all GPU name, model and GPU ram
What's the purpose of writing one's academic biography in the third person?
Do I really need recursive chmod to restrict access to a folder?
How does the particle を relate to the verb 行く in the structure「A を + B に行く」?
Fundamental Solution of the Pell Equation
porting install scripts : can rpm replace apt?
What does F' and F" mean?
Dating a Former Employee
List of Python versions
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
The PPCG Site design is on its way - help us make it awesome!
Sandbox for Proposed ChallengesParse a Python string literalGolf Practice: PythonRandomised list, formatted nicelySmoothing out a listPython Code ReviewerThe Stack Exchange Site ListWhich Ubuntu versions are supported?Golfing Python string literalsMost common elements of a list in PythonList all possible titles for the Anno games
$begingroup$
Python is the fastest-growing major programming language today. It is the most wanted language for the third year in a row, meaning that developers who do not yet use it say they want to learn it. [1].
The reason for Python's popularity is its many versions.[citation needed]. There are in fact 116 versions of Python, including two development versions.
Your task is to output/print a list of all the Python versions, in whatever order you like, and on whatever format you like. You may not use any built-in functions that have this information stored.
You are free to choose the output format, but each version must be identified on the standard way: 1.1
, 2.3.0
, 2.7.10
and so on.
The complete list2 of Python versions, comma-separated is shown below:
1.1, 1.2, 1.3, 1.4, 1.5, 1.5.1, 1.5.2, 1.6, 2.0, 2.0.1, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.2, 2.2.1, 2.2.2, 2.2.3, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16, 3.0, 3.0.1, 3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.2 , 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10, 3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8, 3.7.0, 3.7.1, 3.7.2, 3.7.3
or by major versions:
1.1
1.2
1.3
1.4
1.5, 1.5.1, 1.5.2
1.6
2.0, 2.0.1
2.1, 2.1.1, 2.1.2, 2.1.3
2.2, 2.2.1, 2.2.2, 2.2.3
2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5
2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4
2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4
2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9
2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16
3.0, 3.0.1
3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5
3.2, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6
3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7
3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10
3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7
3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8
3.7.0, 3.7.1, 3.7.2, 3.7.3
The challenge is a fixed output challenge, and very close to a kolmogorov-challenge, except that the output format is optional.
2The list is taken from the official Python website, here and here. There are some versions that aren't included, such as 0.9.0
.. 0.9.9
and 1.5.1p1
. You must use the list above, even if you find versions that aren't included. I've decided to stick with the official lists, since otherwise someone would probably find a 2.1.0.1.2
version or something like that.
code-golf string number kolmogorov-complexity
$endgroup$
add a comment |
$begingroup$
Python is the fastest-growing major programming language today. It is the most wanted language for the third year in a row, meaning that developers who do not yet use it say they want to learn it. [1].
The reason for Python's popularity is its many versions.[citation needed]. There are in fact 116 versions of Python, including two development versions.
Your task is to output/print a list of all the Python versions, in whatever order you like, and on whatever format you like. You may not use any built-in functions that have this information stored.
You are free to choose the output format, but each version must be identified on the standard way: 1.1
, 2.3.0
, 2.7.10
and so on.
The complete list2 of Python versions, comma-separated is shown below:
1.1, 1.2, 1.3, 1.4, 1.5, 1.5.1, 1.5.2, 1.6, 2.0, 2.0.1, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.2, 2.2.1, 2.2.2, 2.2.3, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16, 3.0, 3.0.1, 3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.2 , 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10, 3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8, 3.7.0, 3.7.1, 3.7.2, 3.7.3
or by major versions:
1.1
1.2
1.3
1.4
1.5, 1.5.1, 1.5.2
1.6
2.0, 2.0.1
2.1, 2.1.1, 2.1.2, 2.1.3
2.2, 2.2.1, 2.2.2, 2.2.3
2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5
2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4
2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4
2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9
2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16
3.0, 3.0.1
3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5
3.2, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6
3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7
3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10
3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7
3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8
3.7.0, 3.7.1, 3.7.2, 3.7.3
The challenge is a fixed output challenge, and very close to a kolmogorov-challenge, except that the output format is optional.
2The list is taken from the official Python website, here and here. There are some versions that aren't included, such as 0.9.0
.. 0.9.9
and 1.5.1p1
. You must use the list above, even if you find versions that aren't included. I've decided to stick with the official lists, since otherwise someone would probably find a 2.1.0.1.2
version or something like that.
code-golf string number kolmogorov-complexity
$endgroup$
1
$begingroup$
I guess we aren't allowed to output1.1.0
(to make all versions 3 numbers) instead of1.1
?
$endgroup$
– Kevin Cruijssen
20 hours ago
2
$begingroup$
You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
$endgroup$
– Stewie Griffin
20 hours ago
add a comment |
$begingroup$
Python is the fastest-growing major programming language today. It is the most wanted language for the third year in a row, meaning that developers who do not yet use it say they want to learn it. [1].
The reason for Python's popularity is its many versions.[citation needed]. There are in fact 116 versions of Python, including two development versions.
Your task is to output/print a list of all the Python versions, in whatever order you like, and on whatever format you like. You may not use any built-in functions that have this information stored.
You are free to choose the output format, but each version must be identified on the standard way: 1.1
, 2.3.0
, 2.7.10
and so on.
The complete list2 of Python versions, comma-separated is shown below:
1.1, 1.2, 1.3, 1.4, 1.5, 1.5.1, 1.5.2, 1.6, 2.0, 2.0.1, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.2, 2.2.1, 2.2.2, 2.2.3, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16, 3.0, 3.0.1, 3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.2 , 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10, 3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8, 3.7.0, 3.7.1, 3.7.2, 3.7.3
or by major versions:
1.1
1.2
1.3
1.4
1.5, 1.5.1, 1.5.2
1.6
2.0, 2.0.1
2.1, 2.1.1, 2.1.2, 2.1.3
2.2, 2.2.1, 2.2.2, 2.2.3
2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5
2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4
2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4
2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9
2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16
3.0, 3.0.1
3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5
3.2, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6
3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7
3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10
3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7
3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8
3.7.0, 3.7.1, 3.7.2, 3.7.3
The challenge is a fixed output challenge, and very close to a kolmogorov-challenge, except that the output format is optional.
2The list is taken from the official Python website, here and here. There are some versions that aren't included, such as 0.9.0
.. 0.9.9
and 1.5.1p1
. You must use the list above, even if you find versions that aren't included. I've decided to stick with the official lists, since otherwise someone would probably find a 2.1.0.1.2
version or something like that.
code-golf string number kolmogorov-complexity
$endgroup$
Python is the fastest-growing major programming language today. It is the most wanted language for the third year in a row, meaning that developers who do not yet use it say they want to learn it. [1].
The reason for Python's popularity is its many versions.[citation needed]. There are in fact 116 versions of Python, including two development versions.
Your task is to output/print a list of all the Python versions, in whatever order you like, and on whatever format you like. You may not use any built-in functions that have this information stored.
You are free to choose the output format, but each version must be identified on the standard way: 1.1
, 2.3.0
, 2.7.10
and so on.
The complete list2 of Python versions, comma-separated is shown below:
1.1, 1.2, 1.3, 1.4, 1.5, 1.5.1, 1.5.2, 1.6, 2.0, 2.0.1, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.2, 2.2.1, 2.2.2, 2.2.3, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16, 3.0, 3.0.1, 3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.2 , 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10, 3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8, 3.7.0, 3.7.1, 3.7.2, 3.7.3
or by major versions:
1.1
1.2
1.3
1.4
1.5, 1.5.1, 1.5.2
1.6
2.0, 2.0.1
2.1, 2.1.1, 2.1.2, 2.1.3
2.2, 2.2.1, 2.2.2, 2.2.3
2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5
2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4
2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4
2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9
2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16
3.0, 3.0.1
3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5
3.2, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6
3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7
3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10
3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7
3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8
3.7.0, 3.7.1, 3.7.2, 3.7.3
The challenge is a fixed output challenge, and very close to a kolmogorov-challenge, except that the output format is optional.
2The list is taken from the official Python website, here and here. There are some versions that aren't included, such as 0.9.0
.. 0.9.9
and 1.5.1p1
. You must use the list above, even if you find versions that aren't included. I've decided to stick with the official lists, since otherwise someone would probably find a 2.1.0.1.2
version or something like that.
code-golf string number kolmogorov-complexity
code-golf string number kolmogorov-complexity
edited 21 hours ago
Stewie Griffin
asked 21 hours ago
Stewie GriffinStewie Griffin
28.7k11106274
28.7k11106274
1
$begingroup$
I guess we aren't allowed to output1.1.0
(to make all versions 3 numbers) instead of1.1
?
$endgroup$
– Kevin Cruijssen
20 hours ago
2
$begingroup$
You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
$endgroup$
– Stewie Griffin
20 hours ago
add a comment |
1
$begingroup$
I guess we aren't allowed to output1.1.0
(to make all versions 3 numbers) instead of1.1
?
$endgroup$
– Kevin Cruijssen
20 hours ago
2
$begingroup$
You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
$endgroup$
– Stewie Griffin
20 hours ago
1
1
$begingroup$
I guess we aren't allowed to output
1.1.0
(to make all versions 3 numbers) instead of 1.1
?$endgroup$
– Kevin Cruijssen
20 hours ago
$begingroup$
I guess we aren't allowed to output
1.1.0
(to make all versions 3 numbers) instead of 1.1
?$endgroup$
– Kevin Cruijssen
20 hours ago
2
2
$begingroup$
You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
$endgroup$
– Stewie Griffin
20 hours ago
$begingroup$
You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
$endgroup$
– Stewie Griffin
20 hours ago
add a comment |
5 Answers
5
active
oldest
votes
$begingroup$
JavaScript (ES6), 128 125 bytes
Outputs each version on a separate line.
f=(r=v=0)=>v<28?r<parseInt('0111131000244655ah002678b894'[v],36)?(1+v/10).toFixed(1)+(r|v>22?'.'+r:'')+`
`+f(r+1):f(+!++v):''
Try it online!
How?
The major and minor versions are held in the variable $v in [0..27]$:
- major = $lfloor v/10+1rfloor$
- minor = $v bmod 10$
The revision is held in the variable $rge0$. The maximum value of $r$ depends on $v$ and is stored in a lookup table encoded in Base-36. Any $0$ in this table means that this version was not released at all.
Besides, we use the test $v>22$ to know whether the revision should be included even when it's $0$ (starting with Python 3.3.0).
$endgroup$
2
$begingroup$
@KevinCruijssen semes like it doesn't work for2.0.1
$endgroup$
– ASCII-only
17 hours ago
add a comment |
$begingroup$
Pyth, 52 bytes
.emj.+W|d>k18,h/k8%k8dbxLG"abbbbdbaceegffkrcghilije
Try it online here.
Output is a nested list, with elements grouped by major and minor version. There is an empty list at the start of the output, and another one after 1.6
. Full output is as follows:
[[], ['1.1'], ['1.2'], ['1.3'], ['1.4'], ['1.5', '1.5.1', '1.5.2'], ['1.6'], [], ['2.0', '2.0.1'], ['2.1', '2.1.1', '2.1.2', '2.1.3'], ['2.2', '2.2.1', '2.2.2', '2.2.3'], ['2.3', '2.3.1', '2.3.2', '2.3.3', '2.3.4', '2.3.5'], ['2.4', '2.4.1', '2.4.2', '2.4.3', '2.4.4'], ['2.5', '2.5.1', '2.5.2', '2.5.3', '2.5.4'], ['2.6', '2.6.1', '2.6.2', '2.6.3', '2.6.4', '2.6.5', '2.6.6', '2.6.7', '2.6.8', '2.6.9'], ['2.7', '2.7.1', '2.7.2', '2.7.3', '2.7.4', '2.7.5', '2.7.6', '2.7.7', '2.7.8', '2.7.9', '2.7.10', '2.7.11', '2.7.12', '2.7.13', '2.7.14', '2.7.15', '2.7.16'], ['3.0', '3.0.1'], ['3.1', '3.1.1', '3.1.2', '3.1.3', '3.1.4', '3.1.5'], ['3.2', '3.2.1', '3.2.2', '3.2.3', '3.2.4', '3.2.5', '3.2.6'], ['3.3.0', '3.3.1', '3.3.2', '3.3.3', '3.3.4', '3.3.5', '3.3.6', '3.3.7'], ['3.4.0', '3.4.1', '3.4.2', '3.4.3', '3.4.4', '3.4.5', '3.4.6', '3.4.7', '3.4.8', '3.4.9', '3.4.10'], ['3.5.0', '3.5.1', '3.5.2', '3.5.3', '3.5.4', '3.5.5', '3.5.6', '3.5.7'], ['3.6.0', '3.6.1', '3.6.2', '3.6.3', '3.6.4', '3.6.5', '3.6.6', '3.6.7', '3.6.8'], ['3.7.0', '3.7.1', '3.7.2', '3.7.3']]
If this isn't acceptable, prepend .n
to the code to have output as a flattened list, at a cost of 2 bytes.
$endgroup$
add a comment |
$begingroup$
Retina, 105 bytes
11* 111131 244655TS 2678E894
L$`.
$&_$.`
T
10
E
11
S
17
.+_
*
Lv$`_+(.)(.)
$1.$2.$.%`
,16`(...).0
$1
Try it online! Loosely based on @Arnauld's solution. Explanation:
11* 111131 244655TS 2678E894
Insert the string consisting of 11 spaces followed by the given characters.
L$`.
$&_$.`
For each character, list it suffixed with a _
and its column number.
T
10
E
11
S
17
Convert the three letters to numeric values.
.+_
*
Convert the numeric values to unary.
Lv$`_+(.)(.)
$1.$2.$.%`
For each value up to the given value, use that as the suffix for the version number, extracting the major and minor from the column number.
,16`(...).0
$1
Delete the zero suffix for the first 16 versions that have one.
$endgroup$
add a comment |
$begingroup$
Java (JDK), 198 bytes
v->{Byte a=1,b,c;for(var x:"0111131,244655AH,2678B894".split(",")){b=0;for(var y:x.split("")){for(c=0;(a>1|b>0)&c<a.valueOf(y,36);c++)System.out.println(a+"."+b+(c<1&(a<3|b<3)?"":"."+c));b++;}a++;}}
Try it online!
$endgroup$
add a comment |
$begingroup$
C# (Visual C# Interactive Compiler), 110 bytes
for(int j,k=1;;k++)for(j=0;j<@" [SOH][SOH][SOH][SOH][ETX][SOH][NUL][NUL][NUL][STX][EOT][EOT][ACK][ENQ][ENQ]
[DC1][NUL][NUL][STX][ACK][BEL][BS][VT][BS][TAB][EOT]"[k];j++)Print($"{k*.1+1:N1}"+(j<1&k<17?"":"."+j));
Contains many unprintables, whose codes are shown in the brackets. This is a full program.
Try it online!
Explanation
Each character in the string represents how many minor versions in the major position. For example, the character at index 5(ETX
) has an ASCII value of three, and corresponds to the major version 1.5.x
which has three minor versions. The program takes the ascii value of the current character and loops that many times, printing the minor versions before moving on to the next major version.
For some versions, there are gaps to the next versions. To fix that, the string contains null bytes, so that the program loops zero times when it encounters those.
The unprintable string contains these character values:
1,1,1,1,3,1,0,0,0,2,4,4,6,5,5,10,17,0,0,2,6,7,8,11,8,9,4
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "200"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f183284%2flist-of-python-versions%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
5 Answers
5
active
oldest
votes
5 Answers
5
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
JavaScript (ES6), 128 125 bytes
Outputs each version on a separate line.
f=(r=v=0)=>v<28?r<parseInt('0111131000244655ah002678b894'[v],36)?(1+v/10).toFixed(1)+(r|v>22?'.'+r:'')+`
`+f(r+1):f(+!++v):''
Try it online!
How?
The major and minor versions are held in the variable $v in [0..27]$:
- major = $lfloor v/10+1rfloor$
- minor = $v bmod 10$
The revision is held in the variable $rge0$. The maximum value of $r$ depends on $v$ and is stored in a lookup table encoded in Base-36. Any $0$ in this table means that this version was not released at all.
Besides, we use the test $v>22$ to know whether the revision should be included even when it's $0$ (starting with Python 3.3.0).
$endgroup$
2
$begingroup$
@KevinCruijssen semes like it doesn't work for2.0.1
$endgroup$
– ASCII-only
17 hours ago
add a comment |
$begingroup$
JavaScript (ES6), 128 125 bytes
Outputs each version on a separate line.
f=(r=v=0)=>v<28?r<parseInt('0111131000244655ah002678b894'[v],36)?(1+v/10).toFixed(1)+(r|v>22?'.'+r:'')+`
`+f(r+1):f(+!++v):''
Try it online!
How?
The major and minor versions are held in the variable $v in [0..27]$:
- major = $lfloor v/10+1rfloor$
- minor = $v bmod 10$
The revision is held in the variable $rge0$. The maximum value of $r$ depends on $v$ and is stored in a lookup table encoded in Base-36. Any $0$ in this table means that this version was not released at all.
Besides, we use the test $v>22$ to know whether the revision should be included even when it's $0$ (starting with Python 3.3.0).
$endgroup$
2
$begingroup$
@KevinCruijssen semes like it doesn't work for2.0.1
$endgroup$
– ASCII-only
17 hours ago
add a comment |
$begingroup$
JavaScript (ES6), 128 125 bytes
Outputs each version on a separate line.
f=(r=v=0)=>v<28?r<parseInt('0111131000244655ah002678b894'[v],36)?(1+v/10).toFixed(1)+(r|v>22?'.'+r:'')+`
`+f(r+1):f(+!++v):''
Try it online!
How?
The major and minor versions are held in the variable $v in [0..27]$:
- major = $lfloor v/10+1rfloor$
- minor = $v bmod 10$
The revision is held in the variable $rge0$. The maximum value of $r$ depends on $v$ and is stored in a lookup table encoded in Base-36. Any $0$ in this table means that this version was not released at all.
Besides, we use the test $v>22$ to know whether the revision should be included even when it's $0$ (starting with Python 3.3.0).
$endgroup$
JavaScript (ES6), 128 125 bytes
Outputs each version on a separate line.
f=(r=v=0)=>v<28?r<parseInt('0111131000244655ah002678b894'[v],36)?(1+v/10).toFixed(1)+(r|v>22?'.'+r:'')+`
`+f(r+1):f(+!++v):''
Try it online!
How?
The major and minor versions are held in the variable $v in [0..27]$:
- major = $lfloor v/10+1rfloor$
- minor = $v bmod 10$
The revision is held in the variable $rge0$. The maximum value of $r$ depends on $v$ and is stored in a lookup table encoded in Base-36. Any $0$ in this table means that this version was not released at all.
Besides, we use the test $v>22$ to know whether the revision should be included even when it's $0$ (starting with Python 3.3.0).
edited 16 hours ago
answered 21 hours ago
ArnauldArnauld
81.3k797335
81.3k797335
2
$begingroup$
@KevinCruijssen semes like it doesn't work for2.0.1
$endgroup$
– ASCII-only
17 hours ago
add a comment |
2
$begingroup$
@KevinCruijssen semes like it doesn't work for2.0.1
$endgroup$
– ASCII-only
17 hours ago
2
2
$begingroup$
@KevinCruijssen semes like it doesn't work for
2.0.1
$endgroup$
– ASCII-only
17 hours ago
$begingroup$
@KevinCruijssen semes like it doesn't work for
2.0.1
$endgroup$
– ASCII-only
17 hours ago
add a comment |
$begingroup$
Pyth, 52 bytes
.emj.+W|d>k18,h/k8%k8dbxLG"abbbbdbaceegffkrcghilije
Try it online here.
Output is a nested list, with elements grouped by major and minor version. There is an empty list at the start of the output, and another one after 1.6
. Full output is as follows:
[[], ['1.1'], ['1.2'], ['1.3'], ['1.4'], ['1.5', '1.5.1', '1.5.2'], ['1.6'], [], ['2.0', '2.0.1'], ['2.1', '2.1.1', '2.1.2', '2.1.3'], ['2.2', '2.2.1', '2.2.2', '2.2.3'], ['2.3', '2.3.1', '2.3.2', '2.3.3', '2.3.4', '2.3.5'], ['2.4', '2.4.1', '2.4.2', '2.4.3', '2.4.4'], ['2.5', '2.5.1', '2.5.2', '2.5.3', '2.5.4'], ['2.6', '2.6.1', '2.6.2', '2.6.3', '2.6.4', '2.6.5', '2.6.6', '2.6.7', '2.6.8', '2.6.9'], ['2.7', '2.7.1', '2.7.2', '2.7.3', '2.7.4', '2.7.5', '2.7.6', '2.7.7', '2.7.8', '2.7.9', '2.7.10', '2.7.11', '2.7.12', '2.7.13', '2.7.14', '2.7.15', '2.7.16'], ['3.0', '3.0.1'], ['3.1', '3.1.1', '3.1.2', '3.1.3', '3.1.4', '3.1.5'], ['3.2', '3.2.1', '3.2.2', '3.2.3', '3.2.4', '3.2.5', '3.2.6'], ['3.3.0', '3.3.1', '3.3.2', '3.3.3', '3.3.4', '3.3.5', '3.3.6', '3.3.7'], ['3.4.0', '3.4.1', '3.4.2', '3.4.3', '3.4.4', '3.4.5', '3.4.6', '3.4.7', '3.4.8', '3.4.9', '3.4.10'], ['3.5.0', '3.5.1', '3.5.2', '3.5.3', '3.5.4', '3.5.5', '3.5.6', '3.5.7'], ['3.6.0', '3.6.1', '3.6.2', '3.6.3', '3.6.4', '3.6.5', '3.6.6', '3.6.7', '3.6.8'], ['3.7.0', '3.7.1', '3.7.2', '3.7.3']]
If this isn't acceptable, prepend .n
to the code to have output as a flattened list, at a cost of 2 bytes.
$endgroup$
add a comment |
$begingroup$
Pyth, 52 bytes
.emj.+W|d>k18,h/k8%k8dbxLG"abbbbdbaceegffkrcghilije
Try it online here.
Output is a nested list, with elements grouped by major and minor version. There is an empty list at the start of the output, and another one after 1.6
. Full output is as follows:
[[], ['1.1'], ['1.2'], ['1.3'], ['1.4'], ['1.5', '1.5.1', '1.5.2'], ['1.6'], [], ['2.0', '2.0.1'], ['2.1', '2.1.1', '2.1.2', '2.1.3'], ['2.2', '2.2.1', '2.2.2', '2.2.3'], ['2.3', '2.3.1', '2.3.2', '2.3.3', '2.3.4', '2.3.5'], ['2.4', '2.4.1', '2.4.2', '2.4.3', '2.4.4'], ['2.5', '2.5.1', '2.5.2', '2.5.3', '2.5.4'], ['2.6', '2.6.1', '2.6.2', '2.6.3', '2.6.4', '2.6.5', '2.6.6', '2.6.7', '2.6.8', '2.6.9'], ['2.7', '2.7.1', '2.7.2', '2.7.3', '2.7.4', '2.7.5', '2.7.6', '2.7.7', '2.7.8', '2.7.9', '2.7.10', '2.7.11', '2.7.12', '2.7.13', '2.7.14', '2.7.15', '2.7.16'], ['3.0', '3.0.1'], ['3.1', '3.1.1', '3.1.2', '3.1.3', '3.1.4', '3.1.5'], ['3.2', '3.2.1', '3.2.2', '3.2.3', '3.2.4', '3.2.5', '3.2.6'], ['3.3.0', '3.3.1', '3.3.2', '3.3.3', '3.3.4', '3.3.5', '3.3.6', '3.3.7'], ['3.4.0', '3.4.1', '3.4.2', '3.4.3', '3.4.4', '3.4.5', '3.4.6', '3.4.7', '3.4.8', '3.4.9', '3.4.10'], ['3.5.0', '3.5.1', '3.5.2', '3.5.3', '3.5.4', '3.5.5', '3.5.6', '3.5.7'], ['3.6.0', '3.6.1', '3.6.2', '3.6.3', '3.6.4', '3.6.5', '3.6.6', '3.6.7', '3.6.8'], ['3.7.0', '3.7.1', '3.7.2', '3.7.3']]
If this isn't acceptable, prepend .n
to the code to have output as a flattened list, at a cost of 2 bytes.
$endgroup$
add a comment |
$begingroup$
Pyth, 52 bytes
.emj.+W|d>k18,h/k8%k8dbxLG"abbbbdbaceegffkrcghilije
Try it online here.
Output is a nested list, with elements grouped by major and minor version. There is an empty list at the start of the output, and another one after 1.6
. Full output is as follows:
[[], ['1.1'], ['1.2'], ['1.3'], ['1.4'], ['1.5', '1.5.1', '1.5.2'], ['1.6'], [], ['2.0', '2.0.1'], ['2.1', '2.1.1', '2.1.2', '2.1.3'], ['2.2', '2.2.1', '2.2.2', '2.2.3'], ['2.3', '2.3.1', '2.3.2', '2.3.3', '2.3.4', '2.3.5'], ['2.4', '2.4.1', '2.4.2', '2.4.3', '2.4.4'], ['2.5', '2.5.1', '2.5.2', '2.5.3', '2.5.4'], ['2.6', '2.6.1', '2.6.2', '2.6.3', '2.6.4', '2.6.5', '2.6.6', '2.6.7', '2.6.8', '2.6.9'], ['2.7', '2.7.1', '2.7.2', '2.7.3', '2.7.4', '2.7.5', '2.7.6', '2.7.7', '2.7.8', '2.7.9', '2.7.10', '2.7.11', '2.7.12', '2.7.13', '2.7.14', '2.7.15', '2.7.16'], ['3.0', '3.0.1'], ['3.1', '3.1.1', '3.1.2', '3.1.3', '3.1.4', '3.1.5'], ['3.2', '3.2.1', '3.2.2', '3.2.3', '3.2.4', '3.2.5', '3.2.6'], ['3.3.0', '3.3.1', '3.3.2', '3.3.3', '3.3.4', '3.3.5', '3.3.6', '3.3.7'], ['3.4.0', '3.4.1', '3.4.2', '3.4.3', '3.4.4', '3.4.5', '3.4.6', '3.4.7', '3.4.8', '3.4.9', '3.4.10'], ['3.5.0', '3.5.1', '3.5.2', '3.5.3', '3.5.4', '3.5.5', '3.5.6', '3.5.7'], ['3.6.0', '3.6.1', '3.6.2', '3.6.3', '3.6.4', '3.6.5', '3.6.6', '3.6.7', '3.6.8'], ['3.7.0', '3.7.1', '3.7.2', '3.7.3']]
If this isn't acceptable, prepend .n
to the code to have output as a flattened list, at a cost of 2 bytes.
$endgroup$
Pyth, 52 bytes
.emj.+W|d>k18,h/k8%k8dbxLG"abbbbdbaceegffkrcghilije
Try it online here.
Output is a nested list, with elements grouped by major and minor version. There is an empty list at the start of the output, and another one after 1.6
. Full output is as follows:
[[], ['1.1'], ['1.2'], ['1.3'], ['1.4'], ['1.5', '1.5.1', '1.5.2'], ['1.6'], [], ['2.0', '2.0.1'], ['2.1', '2.1.1', '2.1.2', '2.1.3'], ['2.2', '2.2.1', '2.2.2', '2.2.3'], ['2.3', '2.3.1', '2.3.2', '2.3.3', '2.3.4', '2.3.5'], ['2.4', '2.4.1', '2.4.2', '2.4.3', '2.4.4'], ['2.5', '2.5.1', '2.5.2', '2.5.3', '2.5.4'], ['2.6', '2.6.1', '2.6.2', '2.6.3', '2.6.4', '2.6.5', '2.6.6', '2.6.7', '2.6.8', '2.6.9'], ['2.7', '2.7.1', '2.7.2', '2.7.3', '2.7.4', '2.7.5', '2.7.6', '2.7.7', '2.7.8', '2.7.9', '2.7.10', '2.7.11', '2.7.12', '2.7.13', '2.7.14', '2.7.15', '2.7.16'], ['3.0', '3.0.1'], ['3.1', '3.1.1', '3.1.2', '3.1.3', '3.1.4', '3.1.5'], ['3.2', '3.2.1', '3.2.2', '3.2.3', '3.2.4', '3.2.5', '3.2.6'], ['3.3.0', '3.3.1', '3.3.2', '3.3.3', '3.3.4', '3.3.5', '3.3.6', '3.3.7'], ['3.4.0', '3.4.1', '3.4.2', '3.4.3', '3.4.4', '3.4.5', '3.4.6', '3.4.7', '3.4.8', '3.4.9', '3.4.10'], ['3.5.0', '3.5.1', '3.5.2', '3.5.3', '3.5.4', '3.5.5', '3.5.6', '3.5.7'], ['3.6.0', '3.6.1', '3.6.2', '3.6.3', '3.6.4', '3.6.5', '3.6.6', '3.6.7', '3.6.8'], ['3.7.0', '3.7.1', '3.7.2', '3.7.3']]
If this isn't acceptable, prepend .n
to the code to have output as a flattened list, at a cost of 2 bytes.
edited 16 hours ago
answered 17 hours ago
SokSok
4,217925
4,217925
add a comment |
add a comment |
$begingroup$
Retina, 105 bytes
11* 111131 244655TS 2678E894
L$`.
$&_$.`
T
10
E
11
S
17
.+_
*
Lv$`_+(.)(.)
$1.$2.$.%`
,16`(...).0
$1
Try it online! Loosely based on @Arnauld's solution. Explanation:
11* 111131 244655TS 2678E894
Insert the string consisting of 11 spaces followed by the given characters.
L$`.
$&_$.`
For each character, list it suffixed with a _
and its column number.
T
10
E
11
S
17
Convert the three letters to numeric values.
.+_
*
Convert the numeric values to unary.
Lv$`_+(.)(.)
$1.$2.$.%`
For each value up to the given value, use that as the suffix for the version number, extracting the major and minor from the column number.
,16`(...).0
$1
Delete the zero suffix for the first 16 versions that have one.
$endgroup$
add a comment |
$begingroup$
Retina, 105 bytes
11* 111131 244655TS 2678E894
L$`.
$&_$.`
T
10
E
11
S
17
.+_
*
Lv$`_+(.)(.)
$1.$2.$.%`
,16`(...).0
$1
Try it online! Loosely based on @Arnauld's solution. Explanation:
11* 111131 244655TS 2678E894
Insert the string consisting of 11 spaces followed by the given characters.
L$`.
$&_$.`
For each character, list it suffixed with a _
and its column number.
T
10
E
11
S
17
Convert the three letters to numeric values.
.+_
*
Convert the numeric values to unary.
Lv$`_+(.)(.)
$1.$2.$.%`
For each value up to the given value, use that as the suffix for the version number, extracting the major and minor from the column number.
,16`(...).0
$1
Delete the zero suffix for the first 16 versions that have one.
$endgroup$
add a comment |
$begingroup$
Retina, 105 bytes
11* 111131 244655TS 2678E894
L$`.
$&_$.`
T
10
E
11
S
17
.+_
*
Lv$`_+(.)(.)
$1.$2.$.%`
,16`(...).0
$1
Try it online! Loosely based on @Arnauld's solution. Explanation:
11* 111131 244655TS 2678E894
Insert the string consisting of 11 spaces followed by the given characters.
L$`.
$&_$.`
For each character, list it suffixed with a _
and its column number.
T
10
E
11
S
17
Convert the three letters to numeric values.
.+_
*
Convert the numeric values to unary.
Lv$`_+(.)(.)
$1.$2.$.%`
For each value up to the given value, use that as the suffix for the version number, extracting the major and minor from the column number.
,16`(...).0
$1
Delete the zero suffix for the first 16 versions that have one.
$endgroup$
Retina, 105 bytes
11* 111131 244655TS 2678E894
L$`.
$&_$.`
T
10
E
11
S
17
.+_
*
Lv$`_+(.)(.)
$1.$2.$.%`
,16`(...).0
$1
Try it online! Loosely based on @Arnauld's solution. Explanation:
11* 111131 244655TS 2678E894
Insert the string consisting of 11 spaces followed by the given characters.
L$`.
$&_$.`
For each character, list it suffixed with a _
and its column number.
T
10
E
11
S
17
Convert the three letters to numeric values.
.+_
*
Convert the numeric values to unary.
Lv$`_+(.)(.)
$1.$2.$.%`
For each value up to the given value, use that as the suffix for the version number, extracting the major and minor from the column number.
,16`(...).0
$1
Delete the zero suffix for the first 16 versions that have one.
answered 10 hours ago
NeilNeil
82.9k745179
82.9k745179
add a comment |
add a comment |
$begingroup$
Java (JDK), 198 bytes
v->{Byte a=1,b,c;for(var x:"0111131,244655AH,2678B894".split(",")){b=0;for(var y:x.split("")){for(c=0;(a>1|b>0)&c<a.valueOf(y,36);c++)System.out.println(a+"."+b+(c<1&(a<3|b<3)?"":"."+c));b++;}a++;}}
Try it online!
$endgroup$
add a comment |
$begingroup$
Java (JDK), 198 bytes
v->{Byte a=1,b,c;for(var x:"0111131,244655AH,2678B894".split(",")){b=0;for(var y:x.split("")){for(c=0;(a>1|b>0)&c<a.valueOf(y,36);c++)System.out.println(a+"."+b+(c<1&(a<3|b<3)?"":"."+c));b++;}a++;}}
Try it online!
$endgroup$
add a comment |
$begingroup$
Java (JDK), 198 bytes
v->{Byte a=1,b,c;for(var x:"0111131,244655AH,2678B894".split(",")){b=0;for(var y:x.split("")){for(c=0;(a>1|b>0)&c<a.valueOf(y,36);c++)System.out.println(a+"."+b+(c<1&(a<3|b<3)?"":"."+c));b++;}a++;}}
Try it online!
$endgroup$
Java (JDK), 198 bytes
v->{Byte a=1,b,c;for(var x:"0111131,244655AH,2678B894".split(",")){b=0;for(var y:x.split("")){for(c=0;(a>1|b>0)&c<a.valueOf(y,36);c++)System.out.println(a+"."+b+(c<1&(a<3|b<3)?"":"."+c));b++;}a++;}}
Try it online!
answered 13 hours ago
Olivier GrégoireOlivier Grégoire
9,42511944
9,42511944
add a comment |
add a comment |
$begingroup$
C# (Visual C# Interactive Compiler), 110 bytes
for(int j,k=1;;k++)for(j=0;j<@" [SOH][SOH][SOH][SOH][ETX][SOH][NUL][NUL][NUL][STX][EOT][EOT][ACK][ENQ][ENQ]
[DC1][NUL][NUL][STX][ACK][BEL][BS][VT][BS][TAB][EOT]"[k];j++)Print($"{k*.1+1:N1}"+(j<1&k<17?"":"."+j));
Contains many unprintables, whose codes are shown in the brackets. This is a full program.
Try it online!
Explanation
Each character in the string represents how many minor versions in the major position. For example, the character at index 5(ETX
) has an ASCII value of three, and corresponds to the major version 1.5.x
which has three minor versions. The program takes the ascii value of the current character and loops that many times, printing the minor versions before moving on to the next major version.
For some versions, there are gaps to the next versions. To fix that, the string contains null bytes, so that the program loops zero times when it encounters those.
The unprintable string contains these character values:
1,1,1,1,3,1,0,0,0,2,4,4,6,5,5,10,17,0,0,2,6,7,8,11,8,9,4
$endgroup$
add a comment |
$begingroup$
C# (Visual C# Interactive Compiler), 110 bytes
for(int j,k=1;;k++)for(j=0;j<@" [SOH][SOH][SOH][SOH][ETX][SOH][NUL][NUL][NUL][STX][EOT][EOT][ACK][ENQ][ENQ]
[DC1][NUL][NUL][STX][ACK][BEL][BS][VT][BS][TAB][EOT]"[k];j++)Print($"{k*.1+1:N1}"+(j<1&k<17?"":"."+j));
Contains many unprintables, whose codes are shown in the brackets. This is a full program.
Try it online!
Explanation
Each character in the string represents how many minor versions in the major position. For example, the character at index 5(ETX
) has an ASCII value of three, and corresponds to the major version 1.5.x
which has three minor versions. The program takes the ascii value of the current character and loops that many times, printing the minor versions before moving on to the next major version.
For some versions, there are gaps to the next versions. To fix that, the string contains null bytes, so that the program loops zero times when it encounters those.
The unprintable string contains these character values:
1,1,1,1,3,1,0,0,0,2,4,4,6,5,5,10,17,0,0,2,6,7,8,11,8,9,4
$endgroup$
add a comment |
$begingroup$
C# (Visual C# Interactive Compiler), 110 bytes
for(int j,k=1;;k++)for(j=0;j<@" [SOH][SOH][SOH][SOH][ETX][SOH][NUL][NUL][NUL][STX][EOT][EOT][ACK][ENQ][ENQ]
[DC1][NUL][NUL][STX][ACK][BEL][BS][VT][BS][TAB][EOT]"[k];j++)Print($"{k*.1+1:N1}"+(j<1&k<17?"":"."+j));
Contains many unprintables, whose codes are shown in the brackets. This is a full program.
Try it online!
Explanation
Each character in the string represents how many minor versions in the major position. For example, the character at index 5(ETX
) has an ASCII value of three, and corresponds to the major version 1.5.x
which has three minor versions. The program takes the ascii value of the current character and loops that many times, printing the minor versions before moving on to the next major version.
For some versions, there are gaps to the next versions. To fix that, the string contains null bytes, so that the program loops zero times when it encounters those.
The unprintable string contains these character values:
1,1,1,1,3,1,0,0,0,2,4,4,6,5,5,10,17,0,0,2,6,7,8,11,8,9,4
$endgroup$
C# (Visual C# Interactive Compiler), 110 bytes
for(int j,k=1;;k++)for(j=0;j<@" [SOH][SOH][SOH][SOH][ETX][SOH][NUL][NUL][NUL][STX][EOT][EOT][ACK][ENQ][ENQ]
[DC1][NUL][NUL][STX][ACK][BEL][BS][VT][BS][TAB][EOT]"[k];j++)Print($"{k*.1+1:N1}"+(j<1&k<17?"":"."+j));
Contains many unprintables, whose codes are shown in the brackets. This is a full program.
Try it online!
Explanation
Each character in the string represents how many minor versions in the major position. For example, the character at index 5(ETX
) has an ASCII value of three, and corresponds to the major version 1.5.x
which has three minor versions. The program takes the ascii value of the current character and loops that many times, printing the minor versions before moving on to the next major version.
For some versions, there are gaps to the next versions. To fix that, the string contains null bytes, so that the program loops zero times when it encounters those.
The unprintable string contains these character values:
1,1,1,1,3,1,0,0,0,2,4,4,6,5,5,10,17,0,0,2,6,7,8,11,8,9,4
edited 59 mins ago
answered 13 hours ago
Embodiment of IgnoranceEmbodiment of Ignorance
2,966127
2,966127
add a comment |
add a comment |
If this is an answer to a challenge…
…Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.
…Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
Explanations of your answer make it more interesting to read and are very much encouraged.…Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.
More generally…
…Please make sure to answer the question and provide sufficient detail.
…Avoid asking for help, clarification or responding to other answers (use comments instead).
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f183284%2flist-of-python-versions%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
$begingroup$
I guess we aren't allowed to output
1.1.0
(to make all versions 3 numbers) instead of1.1
?$endgroup$
– Kevin Cruijssen
20 hours ago
2
$begingroup$
You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
$endgroup$
– Stewie Griffin
20 hours ago