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












29












$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.










share|improve this question











$endgroup$








  • 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








  • 2




    $begingroup$
    You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
    $endgroup$
    – Stewie Griffin
    20 hours ago


















29












$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.










share|improve this question











$endgroup$








  • 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








  • 2




    $begingroup$
    You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
    $endgroup$
    – Stewie Griffin
    20 hours ago
















29












29








29





$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.










share|improve this question











$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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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 output 1.1.0 (to make all versions 3 numbers) instead of 1.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




    $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




    $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












5 Answers
5






active

oldest

votes


















13












$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).






share|improve this answer











$endgroup$









  • 2




    $begingroup$
    @KevinCruijssen semes like it doesn't work for 2.0.1
    $endgroup$
    – ASCII-only
    17 hours ago



















2












$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.






share|improve this answer











$endgroup$





















    2












    $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.






    share|improve this answer









    $endgroup$





















      1












      $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!






      share|improve this answer









      $endgroup$





















        1












        $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





        share|improve this answer











        $endgroup$














          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
          });


          }
          });














          draft saved

          draft discarded


















          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









          13












          $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).






          share|improve this answer











          $endgroup$









          • 2




            $begingroup$
            @KevinCruijssen semes like it doesn't work for 2.0.1
            $endgroup$
            – ASCII-only
            17 hours ago
















          13












          $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).






          share|improve this answer











          $endgroup$









          • 2




            $begingroup$
            @KevinCruijssen semes like it doesn't work for 2.0.1
            $endgroup$
            – ASCII-only
            17 hours ago














          13












          13








          13





          $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).






          share|improve this answer











          $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).







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 16 hours ago

























          answered 21 hours ago









          ArnauldArnauld

          81.3k797335




          81.3k797335








          • 2




            $begingroup$
            @KevinCruijssen semes like it doesn't work for 2.0.1
            $endgroup$
            – ASCII-only
            17 hours ago














          • 2




            $begingroup$
            @KevinCruijssen semes like it doesn't work for 2.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











          2












          $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.






          share|improve this answer











          $endgroup$


















            2












            $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.






            share|improve this answer











            $endgroup$
















              2












              2








              2





              $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.






              share|improve this answer











              $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.







              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited 16 hours ago

























              answered 17 hours ago









              SokSok

              4,217925




              4,217925























                  2












                  $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.






                  share|improve this answer









                  $endgroup$


















                    2












                    $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.






                    share|improve this answer









                    $endgroup$
















                      2












                      2








                      2





                      $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.






                      share|improve this answer









                      $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.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered 10 hours ago









                      NeilNeil

                      82.9k745179




                      82.9k745179























                          1












                          $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!






                          share|improve this answer









                          $endgroup$


















                            1












                            $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!






                            share|improve this answer









                            $endgroup$
















                              1












                              1








                              1





                              $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!






                              share|improve this answer









                              $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!







                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered 13 hours ago









                              Olivier GrégoireOlivier Grégoire

                              9,42511944




                              9,42511944























                                  1












                                  $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





                                  share|improve this answer











                                  $endgroup$


















                                    1












                                    $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





                                    share|improve this answer











                                    $endgroup$
















                                      1












                                      1








                                      1





                                      $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





                                      share|improve this answer











                                      $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






                                      share|improve this answer














                                      share|improve this answer



                                      share|improve this answer








                                      edited 59 mins ago

























                                      answered 13 hours ago









                                      Embodiment of IgnoranceEmbodiment of Ignorance

                                      2,966127




                                      2,966127






























                                          draft saved

                                          draft discarded




















































                                          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).





                                          draft saved


                                          draft discarded














                                          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





















































                                          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







                                          Popular posts from this blog

                                          Couldn't open a raw socket. Error: Permission denied (13) (nmap)Is it possible to run networking commands...

                                          VNC viewer RFB protocol error: bad desktop size 0x0I Cannot Type the Key 'd' (lowercase) in VNC Viewer...

                                          Why not use the yoke to control yaw, as well as pitch and roll? Announcing the arrival of...