Hi, I want to start preparing for an IT Olympiad for next year for a chance to get a full bursary for college. We can choose between Java, Python, C and C++. Of the lot I'm most comfortable with Python seeing that I at least have a bit of experience in it unlike the rest of those languages. At school we could only have used Delphi, and I have extensive knowledge in PHP and Ruby, but unfortunately can't use it at the Olympiad.

In the previous written papers that are available on their website they do a lot of talking about max execution speed and next to that is written: "Python multiplier: 10." I'm not quite sure what they mean with that and it is one of the requirements according to them. What does it mean??

Also what are good books for learning almost all there is about the Python language. I don't want a introductory book, I want some sort of advanced features book that explain more in depth stuff. I'm busy reading Beginning Python From Novice to Professional, but it seems a bit too introductory.

Any advice will be greatly appreciated seeing that I really need that bursary. (Plus: If I use Python I get to meet Mark Shuttleworth lol)

Recommended Answers

All 6 Replies

I understand that as C for example is compiled the Python program is allowed to be 10 times slower. Maybe not so bad as you can prepare normally running program in 1/8 of the time and rest of time you can optimize.

Check out ShedSkin to speed up Python code. I don't think you can learn C/C++ in the next few months, but it depends on how complicated the programs are. Some Python links
(see "Beginner's Guide" and "Python Books") http://wiki.python.org/moin/

commented: shedskin looks worth trying +4

Ah! Thank you very much for all your input and thank you so much for the Shed Skin link! :D


Check out also psyco module and pypy! Learning to use numpy could be highly beneficial while staying in native Python.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.