Hi fellow Pythonistas, I've been using Python in anger for some time, and I must say, as I wrote in <http://macprang.sourceforge.net/>:
"It's refreshing beyond words to use a language that so freely combines such a small, clean syntax with such a powerful synthesis of procedural, object-oriented and functional techniques." My (hardcore C++) workplace is now very much converted to Python for scripting tasks! We have completely abandoned Unix and DOS shell-script, and Perl. We drive our entire "build-for-QA" process, including code-signing, with Python and also use it for all our automated nightly builds and unit tests. So, inspired by the Python cookbook article 17.13, and because the subject interests me, I've bashed out a module in my own time that can do brute force and monte carlo analysis of dice under various RPG rulesets: * vanilla rolls of n x-sided dice, the result being multiplied by y (usual d20 system ndx*y) * as above, but the lowest m rolls are discarded (optional d20 char gen rules) * dice beating a threshold (Storyteller-style system), with optional roll again * opposed sorted rolls (Risk-style system). The 1.0 version is at http://www.sailmaker.co.uk/newfiles/dice.py and is public domain. Before you ask, yes I'm fully aware of Newton's binomial theorem and its generaliziations. The point of this code is to however to generalise, exercise and accumulate the brute force and Monte Carlo methods across various evaluatuon rules. All comments welcomed, cc to email preferred merely because it shows up sooner for me and is less likely to be missed. Comments, insights and overall evaluations are especially welcomed re: * Cleanliness of design * Pythonicity of design * Pythonicity of code * Efficiency of code * Quality of docstrings * Conformance with modern docstring standards * Conformance with coding standards e.g. PEP 8 I look forward to receiving your comments and criticisms. Regards, Richard. -- http://mail.python.org/mailman/listinfo/python-list