Split at each position and enumerate combinations
The idea\n1. Split string at each position into 2 parts. e.g. 1234 -> 1|234, 12|34, 123|4\n2. Enumerate positions for .\n\n> How to handle parts?\n\nFor a part 
> The idea\n1. Split string at each position into 2 parts. e.g. `1234 -> 1|234, 12|34, 123|4`\n2. Enumerate positions for `.`\n\n> How to handle parts?\n\nFor a part there are 2 cases:\n1) A string (e.g. `5`, `555`)\nOR\n2) A string with the decimal point (e.g. `5.05`, `50.5`)\n\n> Part validation\n\nEach part needs to be validated based on the case:\n> Validation for 1) A string (e.g. `5`, `555`)\n\nThe part is **invalid** when it starts with `0` and `len(part) > 1`\n\n> Validation for 2) A string with the decimal point (e.g. `5.05`, `50.5`)\n\n1. Split part into **left** and **right**.\nThe **left** part is **invalid**  if **left** starts with `0` and `len(left) > 1`\nThe **right** part is **invalid**  if **right** ends with `0`\n2. **left** and **right** must be valid to form `x.y` number\n\n> Assemble result\n\nNow that you have valid splits for parts and the parts are valid, all you have to do it enumerate the parts and `connect the dots`:\n```\nfor left_part in left_parts:\n    for right_part in right_parts:\n\t    {left_part}.{right_part}\n```\n\n```\n        def backtrack(i, s, parts):\n            for j in range(i, len(s)):\n                left = s[i:j]\n                right = s[j:]\n                if not left and right[0] == \'0\' and len(right) > 1: # skip 0xxx\n                    continue\n                elif left and right[-1] == \'0\': # skip x.xx0\n                    continue\n                elif left and left[0] == \'0\' and len(left) > 1: # skip 0x.xx\n                    continue\n                parts.append(left + (\'.\' if left else \'\') + right)\n            return parts\n        res = []\n        for i in range(2, len(s) - 1):\n            for l in backtrack(0, s[1:i], []):\n                for r in backtrack(0, s[i:-1], []):\n                    res.append(f\'({l}, {r})\')\n        return res\n```
['Python', 'Python3']