List of Python versions Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern) The PPCG Site design is on its way - help us make it awesome! Sandbox for Proposed ChallengesTips for golfing in JavaParse 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

What do you call the main part of a joke?

Why wasn't DOSKEY integrated with COMMAND.COM?

Why does it sometimes sound good to play a grace note as a lead in to a note in a melody?

Why should I vote and accept answers?

What is "gratricide"?

A term for a woman complaining about things/begging in a cute/childish way

Is it possible for SQL statements to execute concurrently within a single session in SQL Server?

What is the appropriate index architecture when forced to implement IsDeleted (soft deletes)?

Is there any word for a place full of confusion?

Has negative voting ever been officially implemented in elections, or seriously proposed, or even studied?

What is a fractional matching?

Find 108 by using 3,4,6

As a beginner, should I get a Squier Strat with a SSS config or a HSS?

How much damage would a cupful of neutron star matter do to the Earth?

Time to Settle Down!

How do living politicians protect their readily obtainable signatures from misuse?

Why is it faster to reheat something than it is to cook it?

Why do early math courses focus on the cross sections of a cone and not on other 3D objects?

What would you call this weird metallic apparatus that allows you to lift people?

What is the topology associated with the algebras for the ultrafilter monad?

What initially awakened the Balrog?

Is CEO the "profession" with the most psychopaths?

What is the difference between globalisation and imperialism?

Why do we need to use the builder design pattern when we can do the same thing with setters?



List of Python versions



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)
The PPCG Site design is on its way - help us make it awesome!
Sandbox for Proposed ChallengesTips for golfing in JavaParse 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










33












$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
    2 days ago







  • 2




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
















33












$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
    2 days ago







  • 2




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














33












33








33





$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 2 days ago







Stewie Griffin

















asked 2 days 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
    2 days ago







  • 2




    $begingroup$
    You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
    $endgroup$
    – Stewie Griffin
    2 days 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
    2 days ago







  • 2




    $begingroup$
    You guess correctly @Kevin. I considered allowing it, but went with the official names instead.
    $endgroup$
    – Stewie Griffin
    2 days 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
2 days 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
2 days ago





2




2




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





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











6 Answers
6






active

oldest

votes


















17












$begingroup$

JavaScript (ES6),  128 125  124 bytes



Saved 1 bytes thanks to @OlivierGrégoire



Outputs each version on a separate line. Ordered from highest to lowest major version, and from lowest to highest revision.





f=(r=v=28)=>v?r<parseInt('0111131000244655ah002678b8940'[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
    2 days ago










  • $begingroup$
    Can you gain bytes by starting v at 27 and going down to zero?
    $endgroup$
    – Olivier Grégoire
    yesterday











  • $begingroup$
    @OlivierGrégoire This saves 1 byte. Thanks!
    $endgroup$
    – Arnauld
    yesterday


















4












$begingroup$


Java (JDK), 134 bytes





v->for(int a=0,b;;)for(b="0111131000244655:A002678;894".charAt(++a)-48;b-->0;)System.out.printf("%.1f%s ",a*.1+1,b<1&a<23?"":"."+b);


Try it online!



The versions are printed from the highest to the lowest.



Credits



  • -1 byte thanks to Kevin Cruijssen

  • -3 bytes thanks to Embodiment of Ignorance





share|improve this answer











$endgroup$








  • 1




    $begingroup$
    (a>1|b>0)&c<a.valueOf(y,36) can be a>1|b>0&&c<a.valueOf(y,36) and c<1&(a<3|b<3)? can be c<1&&a<3|b<3? to save 2 bytes. Relevant Java tip - section Combining bit-wise and logical checks instead of using parenthesis
    $endgroup$
    – Kevin Cruijssen
    yesterday











  • $begingroup$
    @KevinCruijssen Thank you, but I made so many changes that your suggestions are now irrelevant... Don't know how to credit you since I don't even use your suggestion anymore :(
    $endgroup$
    – Olivier Grégoire
    yesterday






  • 1




    $begingroup$
    Np, instead I will suggest a new golf ;) /10d can be *.1
    $endgroup$
    – Kevin Cruijssen
    yesterday






  • 1




    $begingroup$
    int a=28->int a=1, and remove the condition in the for loop, then add an a++ to save 3 bytes. TIO
    $endgroup$
    – Embodiment of Ignorance
    yesterday










  • $begingroup$
    @EmbodimentofIgnorance Since REPL seem accepted in this challenge, that's indeed acceptable. Thank you!
    $endgroup$
    – Olivier Grégoire
    yesterday


















4












$begingroup$


C# (Visual C# Interactive Compiler), 109 bytes





for(int j,k=1;;k++)for(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-->0;)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. The null bytes are replaced by s in the TIO link, since my device can't copy and paste them.



Saved one byte thanks to @OlivierGregoire.



Try it online! (Thanks to @OlivierGregoire for implanting the null bytes)



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$












  • $begingroup$
    Can be shortened with j="..."[k];j-->0;, especially since the order has no importance. Also, can you explain the difference in size between the TIO (115 bytes) and the entry (110 bytes)?
    $endgroup$
    – Olivier Grégoire
    yesterday










  • $begingroup$
    @OlivierGrégoire Probably the five null bytes which tio represent as
    $endgroup$
    – Sefa
    yesterday










  • $begingroup$
    @Sefa yes, probably... But I'm asking for certainty.
    $endgroup$
    – Olivier Grégoire
    yesterday










  • $begingroup$
    @OlivierGrégoire Exactly what Sefa said, I can't really copy-paste the null bytes. If the s were replaced by null bytes, it would be 110 bytes
    $endgroup$
    – Embodiment of Ignorance
    yesterday











  • $begingroup$
    Then, here you are, with a nul-byte TIO
    $endgroup$
    – Olivier Grégoire
    yesterday


















3












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

    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$




















      1












      $begingroup$


      Jelly, 51 bytes



      +⁵D;ⱮḶ}j€”.
      “øṄƇịɱ⁽Ɱj>⁶7,Ẉ¢’b18Ė0ị$Ƈç/€ḣ3$€1¦€17R¤¦


      Try it online!



      A niladic link that outputs a list of lists of .-separated integers, grouped by major version. On TIO, there’s some footer code to print these prettily.






      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

























        6 Answers
        6






        active

        oldest

        votes








        6 Answers
        6






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        17












        $begingroup$

        JavaScript (ES6),  128 125  124 bytes



        Saved 1 bytes thanks to @OlivierGrégoire



        Outputs each version on a separate line. Ordered from highest to lowest major version, and from lowest to highest revision.





        f=(r=v=28)=>v?r<parseInt('0111131000244655ah002678b8940'[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
          2 days ago










        • $begingroup$
          Can you gain bytes by starting v at 27 and going down to zero?
          $endgroup$
          – Olivier Grégoire
          yesterday











        • $begingroup$
          @OlivierGrégoire This saves 1 byte. Thanks!
          $endgroup$
          – Arnauld
          yesterday















        17












        $begingroup$

        JavaScript (ES6),  128 125  124 bytes



        Saved 1 bytes thanks to @OlivierGrégoire



        Outputs each version on a separate line. Ordered from highest to lowest major version, and from lowest to highest revision.





        f=(r=v=28)=>v?r<parseInt('0111131000244655ah002678b8940'[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
          2 days ago










        • $begingroup$
          Can you gain bytes by starting v at 27 and going down to zero?
          $endgroup$
          – Olivier Grégoire
          yesterday











        • $begingroup$
          @OlivierGrégoire This saves 1 byte. Thanks!
          $endgroup$
          – Arnauld
          yesterday













        17












        17








        17





        $begingroup$

        JavaScript (ES6),  128 125  124 bytes



        Saved 1 bytes thanks to @OlivierGrégoire



        Outputs each version on a separate line. Ordered from highest to lowest major version, and from lowest to highest revision.





        f=(r=v=28)=>v?r<parseInt('0111131000244655ah002678b8940'[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  124 bytes



        Saved 1 bytes thanks to @OlivierGrégoire



        Outputs each version on a separate line. Ordered from highest to lowest major version, and from lowest to highest revision.





        f=(r=v=28)=>v?r<parseInt('0111131000244655ah002678b8940'[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 yesterday

























        answered 2 days ago









        ArnauldArnauld

        81.6k797336




        81.6k797336







        • 2




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










        • $begingroup$
          Can you gain bytes by starting v at 27 and going down to zero?
          $endgroup$
          – Olivier Grégoire
          yesterday











        • $begingroup$
          @OlivierGrégoire This saves 1 byte. Thanks!
          $endgroup$
          – Arnauld
          yesterday












        • 2




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










        • $begingroup$
          Can you gain bytes by starting v at 27 and going down to zero?
          $endgroup$
          – Olivier Grégoire
          yesterday











        • $begingroup$
          @OlivierGrégoire This saves 1 byte. Thanks!
          $endgroup$
          – Arnauld
          yesterday







        2




        2




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




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












        $begingroup$
        Can you gain bytes by starting v at 27 and going down to zero?
        $endgroup$
        – Olivier Grégoire
        yesterday





        $begingroup$
        Can you gain bytes by starting v at 27 and going down to zero?
        $endgroup$
        – Olivier Grégoire
        yesterday













        $begingroup$
        @OlivierGrégoire This saves 1 byte. Thanks!
        $endgroup$
        – Arnauld
        yesterday




        $begingroup$
        @OlivierGrégoire This saves 1 byte. Thanks!
        $endgroup$
        – Arnauld
        yesterday











        4












        $begingroup$


        Java (JDK), 134 bytes





        v->for(int a=0,b;;)for(b="0111131000244655:A002678;894".charAt(++a)-48;b-->0;)System.out.printf("%.1f%s ",a*.1+1,b<1&a<23?"":"."+b);


        Try it online!



        The versions are printed from the highest to the lowest.



        Credits



        • -1 byte thanks to Kevin Cruijssen

        • -3 bytes thanks to Embodiment of Ignorance





        share|improve this answer











        $endgroup$








        • 1




          $begingroup$
          (a>1|b>0)&c<a.valueOf(y,36) can be a>1|b>0&&c<a.valueOf(y,36) and c<1&(a<3|b<3)? can be c<1&&a<3|b<3? to save 2 bytes. Relevant Java tip - section Combining bit-wise and logical checks instead of using parenthesis
          $endgroup$
          – Kevin Cruijssen
          yesterday











        • $begingroup$
          @KevinCruijssen Thank you, but I made so many changes that your suggestions are now irrelevant... Don't know how to credit you since I don't even use your suggestion anymore :(
          $endgroup$
          – Olivier Grégoire
          yesterday






        • 1




          $begingroup$
          Np, instead I will suggest a new golf ;) /10d can be *.1
          $endgroup$
          – Kevin Cruijssen
          yesterday






        • 1




          $begingroup$
          int a=28->int a=1, and remove the condition in the for loop, then add an a++ to save 3 bytes. TIO
          $endgroup$
          – Embodiment of Ignorance
          yesterday










        • $begingroup$
          @EmbodimentofIgnorance Since REPL seem accepted in this challenge, that's indeed acceptable. Thank you!
          $endgroup$
          – Olivier Grégoire
          yesterday















        4












        $begingroup$


        Java (JDK), 134 bytes





        v->for(int a=0,b;;)for(b="0111131000244655:A002678;894".charAt(++a)-48;b-->0;)System.out.printf("%.1f%s ",a*.1+1,b<1&a<23?"":"."+b);


        Try it online!



        The versions are printed from the highest to the lowest.



        Credits



        • -1 byte thanks to Kevin Cruijssen

        • -3 bytes thanks to Embodiment of Ignorance





        share|improve this answer











        $endgroup$








        • 1




          $begingroup$
          (a>1|b>0)&c<a.valueOf(y,36) can be a>1|b>0&&c<a.valueOf(y,36) and c<1&(a<3|b<3)? can be c<1&&a<3|b<3? to save 2 bytes. Relevant Java tip - section Combining bit-wise and logical checks instead of using parenthesis
          $endgroup$
          – Kevin Cruijssen
          yesterday











        • $begingroup$
          @KevinCruijssen Thank you, but I made so many changes that your suggestions are now irrelevant... Don't know how to credit you since I don't even use your suggestion anymore :(
          $endgroup$
          – Olivier Grégoire
          yesterday






        • 1




          $begingroup$
          Np, instead I will suggest a new golf ;) /10d can be *.1
          $endgroup$
          – Kevin Cruijssen
          yesterday






        • 1




          $begingroup$
          int a=28->int a=1, and remove the condition in the for loop, then add an a++ to save 3 bytes. TIO
          $endgroup$
          – Embodiment of Ignorance
          yesterday










        • $begingroup$
          @EmbodimentofIgnorance Since REPL seem accepted in this challenge, that's indeed acceptable. Thank you!
          $endgroup$
          – Olivier Grégoire
          yesterday













        4












        4








        4





        $begingroup$


        Java (JDK), 134 bytes





        v->for(int a=0,b;;)for(b="0111131000244655:A002678;894".charAt(++a)-48;b-->0;)System.out.printf("%.1f%s ",a*.1+1,b<1&a<23?"":"."+b);


        Try it online!



        The versions are printed from the highest to the lowest.



        Credits



        • -1 byte thanks to Kevin Cruijssen

        • -3 bytes thanks to Embodiment of Ignorance





        share|improve this answer











        $endgroup$




        Java (JDK), 134 bytes





        v->for(int a=0,b;;)for(b="0111131000244655:A002678;894".charAt(++a)-48;b-->0;)System.out.printf("%.1f%s ",a*.1+1,b<1&a<23?"":"."+b);


        Try it online!



        The versions are printed from the highest to the lowest.



        Credits



        • -1 byte thanks to Kevin Cruijssen

        • -3 bytes thanks to Embodiment of Ignorance






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited yesterday

























        answered 2 days ago









        Olivier GrégoireOlivier Grégoire

        9,46511944




        9,46511944







        • 1




          $begingroup$
          (a>1|b>0)&c<a.valueOf(y,36) can be a>1|b>0&&c<a.valueOf(y,36) and c<1&(a<3|b<3)? can be c<1&&a<3|b<3? to save 2 bytes. Relevant Java tip - section Combining bit-wise and logical checks instead of using parenthesis
          $endgroup$
          – Kevin Cruijssen
          yesterday











        • $begingroup$
          @KevinCruijssen Thank you, but I made so many changes that your suggestions are now irrelevant... Don't know how to credit you since I don't even use your suggestion anymore :(
          $endgroup$
          – Olivier Grégoire
          yesterday






        • 1




          $begingroup$
          Np, instead I will suggest a new golf ;) /10d can be *.1
          $endgroup$
          – Kevin Cruijssen
          yesterday






        • 1




          $begingroup$
          int a=28->int a=1, and remove the condition in the for loop, then add an a++ to save 3 bytes. TIO
          $endgroup$
          – Embodiment of Ignorance
          yesterday










        • $begingroup$
          @EmbodimentofIgnorance Since REPL seem accepted in this challenge, that's indeed acceptable. Thank you!
          $endgroup$
          – Olivier Grégoire
          yesterday












        • 1




          $begingroup$
          (a>1|b>0)&c<a.valueOf(y,36) can be a>1|b>0&&c<a.valueOf(y,36) and c<1&(a<3|b<3)? can be c<1&&a<3|b<3? to save 2 bytes. Relevant Java tip - section Combining bit-wise and logical checks instead of using parenthesis
          $endgroup$
          – Kevin Cruijssen
          yesterday











        • $begingroup$
          @KevinCruijssen Thank you, but I made so many changes that your suggestions are now irrelevant... Don't know how to credit you since I don't even use your suggestion anymore :(
          $endgroup$
          – Olivier Grégoire
          yesterday






        • 1




          $begingroup$
          Np, instead I will suggest a new golf ;) /10d can be *.1
          $endgroup$
          – Kevin Cruijssen
          yesterday






        • 1




          $begingroup$
          int a=28->int a=1, and remove the condition in the for loop, then add an a++ to save 3 bytes. TIO
          $endgroup$
          – Embodiment of Ignorance
          yesterday










        • $begingroup$
          @EmbodimentofIgnorance Since REPL seem accepted in this challenge, that's indeed acceptable. Thank you!
          $endgroup$
          – Olivier Grégoire
          yesterday







        1




        1




        $begingroup$
        (a>1|b>0)&c<a.valueOf(y,36) can be a>1|b>0&&c<a.valueOf(y,36) and c<1&(a<3|b<3)? can be c<1&&a<3|b<3? to save 2 bytes. Relevant Java tip - section Combining bit-wise and logical checks instead of using parenthesis
        $endgroup$
        – Kevin Cruijssen
        yesterday





        $begingroup$
        (a>1|b>0)&c<a.valueOf(y,36) can be a>1|b>0&&c<a.valueOf(y,36) and c<1&(a<3|b<3)? can be c<1&&a<3|b<3? to save 2 bytes. Relevant Java tip - section Combining bit-wise and logical checks instead of using parenthesis
        $endgroup$
        – Kevin Cruijssen
        yesterday













        $begingroup$
        @KevinCruijssen Thank you, but I made so many changes that your suggestions are now irrelevant... Don't know how to credit you since I don't even use your suggestion anymore :(
        $endgroup$
        – Olivier Grégoire
        yesterday




        $begingroup$
        @KevinCruijssen Thank you, but I made so many changes that your suggestions are now irrelevant... Don't know how to credit you since I don't even use your suggestion anymore :(
        $endgroup$
        – Olivier Grégoire
        yesterday




        1




        1




        $begingroup$
        Np, instead I will suggest a new golf ;) /10d can be *.1
        $endgroup$
        – Kevin Cruijssen
        yesterday




        $begingroup$
        Np, instead I will suggest a new golf ;) /10d can be *.1
        $endgroup$
        – Kevin Cruijssen
        yesterday




        1




        1




        $begingroup$
        int a=28->int a=1, and remove the condition in the for loop, then add an a++ to save 3 bytes. TIO
        $endgroup$
        – Embodiment of Ignorance
        yesterday




        $begingroup$
        int a=28->int a=1, and remove the condition in the for loop, then add an a++ to save 3 bytes. TIO
        $endgroup$
        – Embodiment of Ignorance
        yesterday












        $begingroup$
        @EmbodimentofIgnorance Since REPL seem accepted in this challenge, that's indeed acceptable. Thank you!
        $endgroup$
        – Olivier Grégoire
        yesterday




        $begingroup$
        @EmbodimentofIgnorance Since REPL seem accepted in this challenge, that's indeed acceptable. Thank you!
        $endgroup$
        – Olivier Grégoire
        yesterday











        4












        $begingroup$


        C# (Visual C# Interactive Compiler), 109 bytes





        for(int j,k=1;;k++)for(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-->0;)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. The null bytes are replaced by s in the TIO link, since my device can't copy and paste them.



        Saved one byte thanks to @OlivierGregoire.



        Try it online! (Thanks to @OlivierGregoire for implanting the null bytes)



        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$












        • $begingroup$
          Can be shortened with j="..."[k];j-->0;, especially since the order has no importance. Also, can you explain the difference in size between the TIO (115 bytes) and the entry (110 bytes)?
          $endgroup$
          – Olivier Grégoire
          yesterday










        • $begingroup$
          @OlivierGrégoire Probably the five null bytes which tio represent as
          $endgroup$
          – Sefa
          yesterday










        • $begingroup$
          @Sefa yes, probably... But I'm asking for certainty.
          $endgroup$
          – Olivier Grégoire
          yesterday










        • $begingroup$
          @OlivierGrégoire Exactly what Sefa said, I can't really copy-paste the null bytes. If the s were replaced by null bytes, it would be 110 bytes
          $endgroup$
          – Embodiment of Ignorance
          yesterday











        • $begingroup$
          Then, here you are, with a nul-byte TIO
          $endgroup$
          – Olivier Grégoire
          yesterday















        4












        $begingroup$


        C# (Visual C# Interactive Compiler), 109 bytes





        for(int j,k=1;;k++)for(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-->0;)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. The null bytes are replaced by s in the TIO link, since my device can't copy and paste them.



        Saved one byte thanks to @OlivierGregoire.



        Try it online! (Thanks to @OlivierGregoire for implanting the null bytes)



        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$












        • $begingroup$
          Can be shortened with j="..."[k];j-->0;, especially since the order has no importance. Also, can you explain the difference in size between the TIO (115 bytes) and the entry (110 bytes)?
          $endgroup$
          – Olivier Grégoire
          yesterday










        • $begingroup$
          @OlivierGrégoire Probably the five null bytes which tio represent as
          $endgroup$
          – Sefa
          yesterday










        • $begingroup$
          @Sefa yes, probably... But I'm asking for certainty.
          $endgroup$
          – Olivier Grégoire
          yesterday










        • $begingroup$
          @OlivierGrégoire Exactly what Sefa said, I can't really copy-paste the null bytes. If the s were replaced by null bytes, it would be 110 bytes
          $endgroup$
          – Embodiment of Ignorance
          yesterday











        • $begingroup$
          Then, here you are, with a nul-byte TIO
          $endgroup$
          – Olivier Grégoire
          yesterday













        4












        4








        4





        $begingroup$


        C# (Visual C# Interactive Compiler), 109 bytes





        for(int j,k=1;;k++)for(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-->0;)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. The null bytes are replaced by s in the TIO link, since my device can't copy and paste them.



        Saved one byte thanks to @OlivierGregoire.



        Try it online! (Thanks to @OlivierGregoire for implanting the null bytes)



        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), 109 bytes





        for(int j,k=1;;k++)for(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-->0;)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. The null bytes are replaced by s in the TIO link, since my device can't copy and paste them.



        Saved one byte thanks to @OlivierGregoire.



        Try it online! (Thanks to @OlivierGregoire for implanting the null bytes)



        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 yesterday

























        answered 2 days ago









        Embodiment of IgnoranceEmbodiment of Ignorance

        3,024127




        3,024127











        • $begingroup$
          Can be shortened with j="..."[k];j-->0;, especially since the order has no importance. Also, can you explain the difference in size between the TIO (115 bytes) and the entry (110 bytes)?
          $endgroup$
          – Olivier Grégoire
          yesterday










        • $begingroup$
          @OlivierGrégoire Probably the five null bytes which tio represent as
          $endgroup$
          – Sefa
          yesterday










        • $begingroup$
          @Sefa yes, probably... But I'm asking for certainty.
          $endgroup$
          – Olivier Grégoire
          yesterday










        • $begingroup$
          @OlivierGrégoire Exactly what Sefa said, I can't really copy-paste the null bytes. If the s were replaced by null bytes, it would be 110 bytes
          $endgroup$
          – Embodiment of Ignorance
          yesterday











        • $begingroup$
          Then, here you are, with a nul-byte TIO
          $endgroup$
          – Olivier Grégoire
          yesterday
















        • $begingroup$
          Can be shortened with j="..."[k];j-->0;, especially since the order has no importance. Also, can you explain the difference in size between the TIO (115 bytes) and the entry (110 bytes)?
          $endgroup$
          – Olivier Grégoire
          yesterday










        • $begingroup$
          @OlivierGrégoire Probably the five null bytes which tio represent as
          $endgroup$
          – Sefa
          yesterday










        • $begingroup$
          @Sefa yes, probably... But I'm asking for certainty.
          $endgroup$
          – Olivier Grégoire
          yesterday










        • $begingroup$
          @OlivierGrégoire Exactly what Sefa said, I can't really copy-paste the null bytes. If the s were replaced by null bytes, it would be 110 bytes
          $endgroup$
          – Embodiment of Ignorance
          yesterday











        • $begingroup$
          Then, here you are, with a nul-byte TIO
          $endgroup$
          – Olivier Grégoire
          yesterday















        $begingroup$
        Can be shortened with j="..."[k];j-->0;, especially since the order has no importance. Also, can you explain the difference in size between the TIO (115 bytes) and the entry (110 bytes)?
        $endgroup$
        – Olivier Grégoire
        yesterday




        $begingroup$
        Can be shortened with j="..."[k];j-->0;, especially since the order has no importance. Also, can you explain the difference in size between the TIO (115 bytes) and the entry (110 bytes)?
        $endgroup$
        – Olivier Grégoire
        yesterday












        $begingroup$
        @OlivierGrégoire Probably the five null bytes which tio represent as
        $endgroup$
        – Sefa
        yesterday




        $begingroup$
        @OlivierGrégoire Probably the five null bytes which tio represent as
        $endgroup$
        – Sefa
        yesterday












        $begingroup$
        @Sefa yes, probably... But I'm asking for certainty.
        $endgroup$
        – Olivier Grégoire
        yesterday




        $begingroup$
        @Sefa yes, probably... But I'm asking for certainty.
        $endgroup$
        – Olivier Grégoire
        yesterday












        $begingroup$
        @OlivierGrégoire Exactly what Sefa said, I can't really copy-paste the null bytes. If the s were replaced by null bytes, it would be 110 bytes
        $endgroup$
        – Embodiment of Ignorance
        yesterday





        $begingroup$
        @OlivierGrégoire Exactly what Sefa said, I can't really copy-paste the null bytes. If the s were replaced by null bytes, it would be 110 bytes
        $endgroup$
        – Embodiment of Ignorance
        yesterday













        $begingroup$
        Then, here you are, with a nul-byte TIO
        $endgroup$
        – Olivier Grégoire
        yesterday




        $begingroup$
        Then, here you are, with a nul-byte TIO
        $endgroup$
        – Olivier Grégoire
        yesterday











        3












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

















          3












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















            3












            3








            3





            $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 2 days ago









            NeilNeil

            83k745179




            83k745179





















                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 2 days ago

























                    answered 2 days ago









                    SokSok

                    4,237925




                    4,237925





















                        1












                        $begingroup$


                        Jelly, 51 bytes



                        +⁵D;ⱮḶ}j€”.
                        “øṄƇịɱ⁽Ɱj>⁶7,Ẉ¢’b18Ė0ị$Ƈç/€ḣ3$€1¦€17R¤¦


                        Try it online!



                        A niladic link that outputs a list of lists of .-separated integers, grouped by major version. On TIO, there’s some footer code to print these prettily.






                        share|improve this answer











                        $endgroup$

















                          1












                          $begingroup$


                          Jelly, 51 bytes



                          +⁵D;ⱮḶ}j€”.
                          “øṄƇịɱ⁽Ɱj>⁶7,Ẉ¢’b18Ė0ị$Ƈç/€ḣ3$€1¦€17R¤¦


                          Try it online!



                          A niladic link that outputs a list of lists of .-separated integers, grouped by major version. On TIO, there’s some footer code to print these prettily.






                          share|improve this answer











                          $endgroup$















                            1












                            1








                            1





                            $begingroup$


                            Jelly, 51 bytes



                            +⁵D;ⱮḶ}j€”.
                            “øṄƇịɱ⁽Ɱj>⁶7,Ẉ¢’b18Ė0ị$Ƈç/€ḣ3$€1¦€17R¤¦


                            Try it online!



                            A niladic link that outputs a list of lists of .-separated integers, grouped by major version. On TIO, there’s some footer code to print these prettily.






                            share|improve this answer











                            $endgroup$




                            Jelly, 51 bytes



                            +⁵D;ⱮḶ}j€”.
                            “øṄƇịɱ⁽Ɱj>⁶7,Ẉ¢’b18Ė0ị$Ƈç/€ḣ3$€1¦€17R¤¦


                            Try it online!



                            A niladic link that outputs a list of lists of .-separated integers, grouped by major version. On TIO, there’s some footer code to print these prettily.







                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited yesterday

























                            answered yesterday









                            Nick KennedyNick Kennedy

                            1,82149




                            1,82149



























                                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

                                Get product attribute by attribute group code in magento 2get product attribute by product attribute group in magento 2Magento 2 Log Bundle Product Data in List Page?How to get all product attribute of a attribute group of Default attribute set?Magento 2.1 Create a filter in the product grid by new attributeMagento 2 : Get Product Attribute values By GroupMagento 2 How to get all existing values for one attributeMagento 2 get custom attribute of a single product inside a pluginMagento 2.3 How to get all the Multi Source Inventory (MSI) locations collection in custom module?Magento2: how to develop rest API to get new productsGet product attribute by attribute group code ( [attribute_group_code] ) in magento 2

                                Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

                                Magento 2.3: How do i solve this, Not registered handle, on custom form?How can i rewrite TierPrice Block in Magento2magento 2 captcha not rendering if I override layout xmlmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento 2.2.5: Overriding Admin Controller sales/orderMagento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2.3 : File Upload issue in UI Component FormMagento2 Not registered handleHow to configured Form Builder Js in my custom magento 2.3.0 module?Magento 2.3. How to create image upload field in an admin form