Walt Mankowski via plug on 6 Jan 2022 18:03:00 -0800 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [PLUG] Topics for PLUG in January |
By "have ^ like SageMath does", do you mean exponentiation? In that case, yes, since Python does exponentiation with the ** operator. On Thu, Jan 06, 2022 at 08:34:03PM -0500, Lynn Bradshaw via plug wrote: > I'm using Gmail (web client) here which means I won't (AFAIK) be able > to continue the thread as in your reply. Or possibly I can but I'll be > uncertain about the outcome. Top posting it is then. Sorry about that. > > Anyway, I do have some vague memory of having to implement some kind > of dynamic programming thing where NetworkX wasn't quite going to cut > it so that's true. And rolling your own vs. using SageMath etc. are > both legitimate in their own ways, yes. > > Regarding Python, I was pleased to see that underscores in number > literals are in fact supported but that was only in PEP 515 > (https://www.python.org/dev/peps/pep-0515/), making it pretty recent. > That will come in handy. And does Python have ^ like SageMath does? > Yes and no. Yes, in the sense that you can override __xor__ in your > own classes that you write. SageMath however extends the intended > outcome typically expected in such a package to builtin number types. > > On Thu, Jan 6, 2022 at 8:17 PM Walt Mankowski via plug > <plug@lists.phillylinux.org> wrote: > > > > On Thu, Jan 06, 2022 at 07:23:11PM -0500, Lynn Bradshaw via plug wrote: > > > The scare quotes are there because it was a tongue-in-cheek remark. > > > True cheating would be stealing others' code or looking up the answers > > > and just plugging them in. (They're all some easily verified > > > non-negative integer as opposed to the approach many other sites use > > > with an automated code judge.) > > > > > > Having said that, for some it might subvert what they deem the true > > > purpose of Project Euler, which would be to develop a full grasp of > > > the mathematical principles underlying the puzzles and implement all > > > one's own algorithms to get the answer. > > > > I don't know how far you've gotten through Project Euler. I've done > > the first 100 problems, plus 16 more in the next set of 50. The first > > set of 50 can generally be solved with a brute force approach. After > > that they increasingly require some mathematical insight that > > something like a graph library isn't necessarily going to help you > > with. > > > > I'm not saying to NOT roll your own. In fact, problem sets like these > > are a great thing to practice on. I'm just saying that it's also a > > good way to learn what sorts of tools are available so that you DON'T > > have to write your own. > > > > > For a little bit, I was using > > > SageMath to do them. Here's a description of SageMath from the > > > website: > > > > > > "SageMath is a free open-source mathematics software system licensed > > > under the GPL. It builds on top of many existing open-source packages: > > > NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. > > > Access their combined power through a common, Python-based language or > > > directly via interfaces or wrappers. > > > Mission: Creating a viable free open source alternative to Magma, > > > Maple, Mathematica and Matlab." > > > > > > (Yes, it's very close to Python except with embellishments like ^ for > > > exponentiation and underscores in numbers to make them easier to read, > > > which Python badly needs. In fact you can see how it transpiles to > > > Python.) > > > > I'm confused by this statement. Python already lets you put > > underscores in numbers. It also has an exponentiation operator, but it > > uses ** since ^ is already used for bitwise-or (presumably copied from > > C). > > > > Walt > > ___________________________________________________________________________ > > Philadelphia Linux Users Group -- http://www.phillylinux.org > > Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce > > General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug > ___________________________________________________________________________ > Philadelphia Linux Users Group -- http://www.phillylinux.org > Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce > General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
Attachment:
signature.asc
Description: PGP signature
___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug