there are so many things that were already said, so let's me just add a few things.
I think I saw that he said that he doesn't just want to develop games, which counts BGT out. Let me also add that, even if some people here seem to stuck with two or three of their favourite languages, there are loads of languages out there which all have their advantages and disadvantages and each one of these languages gets advised as hell. Since the people here stuck deciding between C# and Python, I'll try to help deciding here.
Python is absolutely cross-platform. Python can be run under Windows, Linux and Mac without any problems, there usually just need to be some simple tweaks if there are some critical differences in those systems, but you can tweak them on your own with ease. Yes, Python could even be run under iOS or Android.
Whoever said that Python 3 contains more bugfixes than Python 2 is absolutely wrong. Python 2 is as bug-free as Python 3 is, since it is still under development and as soon as bugs are found, they will be fixed in Python 2, and if bugs are found in Python 3 which exist in Python 2, they will be backported and fixed in Python 2 too. Python 3 probably has even more bugs than Python 2, related to it's larger standard library and new base features.
Python 2 is a solid scripting language which can do almost everything you want, if not even more. Of course Python 3 can do this too, but not only the amount of libraries is some criteria to select Python 2 or 3, but also the availability of documentation, tutorials, blog posts, books and such stuff. Python 2 is older, you can find blog posts with Python 2 solutions far more easily than Python 3 solution blog posts. And yes, there are not even half the amount of libraries available for Python 3 than for Python 2. Yep, it's nice that you can get the tensorflow library for Python 3, but honestly, who wants that, except of some scientists and stuff, but at least not a user who doesn't know, and that's what he said, mathematics very well. Apart from the fact that I think that you're not going to develop very good applications if you lack the ability to at least know the math basics, more libraries available means more helpers which might reduce your need to know mathematics at all. So maybe Python 2 should be your swiss knife to the world of development.
Of course noone wants some one-sided view of things, so I'll try to explain the C# side too:
C# might be quite elegant and more speedy than Python in any case, but it's limited in use on other operating systems than Windows. Linux might be possible, but at least Mac OS X should be really hard. As far as I know there are some transcoding tools out there which intend to translate C# int some native code for Mac OS X, like e.g. Objective-C. C# has the larger and more complex standard library on it's side, since it can point with .Net, which Python doesn't have, at least not by default. If it's only the .Net Framework you want, you could also use IronPython, which assembles a standard Python interpreter, but supports the whole .Net Framework under the hood, which makes changing sides for dedicated C# developers more easy. Anyway, C# is also used in large Game Engines like Unity or Unreal Engine, Cry Engine and such stuff, so if you know how to use C#, you might be able to develop more complex games or applications using those frameworks later too. On the other hand, those engines often support multiple languages and Python tends to be one of those quite often too. C# is absolutely object oriented, which was told already, but I intend to call it out here again, since not everyone might be familiar with object-oriented programming yet. That's definitely a thought worth thinking, since most people, and I think that this is the best way of learning programming, start off training procedural programming attempts before going into class and object models. Python allows both, procedural and object-oriented programming, which makes it a great language to learn the change from procedural to OOP by trying it out on your own.
Also not said is the type difference between both languages. While you'll have to learn different variable types like integers, strings and such stuff the hard way in C#-like languages, python is soft-typed, which means that you don't need to bother with such stuff here, variables in python can be type-casted all the way around, you can even twist them in circles if you want too. That makes Python a far more easy language to learn for beginners.
I could go on for maybe ages like this, but I think you should just start of doing anything which results into cool stuff quite fast. E.g. if you don't know languages like HTML yet, maybe do this first, because the motivation level will skyrocket if you see results after typing 5 lines of code. Of course you can get this with Python and C# too, but at least you don't need anything installed to try and use HTML, since a browser is already installed on every system. Using markdown stuff like HTML won't help you learning developing games, but it will show you how developing is, how it works (at least you'll get some taste of it) and if that's really the thing you want to do. And if you're sure about this, just take any language you want and try it out on your own. Asking people which language to use more or less only results into people disgusting each other, but not you getting any useful information.