Caution: bunny trail ahead. Feel free to skip this message, as it contains no useful content whatever...
On Sat, 18 Feb 2006 12:09:02 +1100 in comp.lang.python, Steven D'Aprano <[EMAIL PROTECTED]> wrote: [...] > >I've never even used Matlab. But I have a calculator. (Actually I have >about half a dozen calculators.) In every single one of them, 1/2 gives >0.5 instead of 0. I'm even capable of doing that calculation in my head. >So I don't think true division is only in Matlab. I have three calculators: an HP-48S, and HP-16C, and NeoCal on my Palm. On the HP-48S: 1 <Enter> 2 / -> 500.000000000E-3 On the HP-16C: 1 <Enter> 2 / -> 0 h (c) On NeoCal: 1 <Enter> 2 / -> 500.e-3 Note: the (c) on the 16C indicates the "carry" bit was set, which the 16C does whenever the remainder of a division is nonzero. Caveats: The result for each calculator depends on its "mode." In "programmer" mode, each calculator performs a truncating integer division. The 16C is in programmer mode by default. The 48S is almost never in programmer mode since I bought the 16C. NeoCal goes into programmer mode about 25% of the time I use it. It was in "Statistics" mode when I powered it up just now. > > >> As you pointed out: the "true division" part of "Python3000" might be >> one of the "scariest" and should therefore be pointed out already in >> the tutorial !! (It would look quite ugly to newcomers, though) If you want ugly, consider Pascal. The / operator could not perform an integer divide, and a compile-time error was generated if you attempted to use it with integer operands. The integer divide operator was 'div', e.g. "i = j div k" > >The tutorial shouldn't talk about Python3000 at all. What would be the >point of that? The tutorial is there to teach about the way Python works >now, not to make guesses and prediction about how it will work some time >in the indefinite future. > > >> Having said that: I would vote against EVER introducing true division >> as default - because it will just PISS too many (long time python) >> people OFF. ;-) > >Do you realise that the reason true division was introduced into Python >was because many long-time Python programmers requested it? So far from >annoying them, it is a feature that most Python programmers are waiting >for. I am a relatively long-time user (since about 1999) of Python, but I mainly program in C. "True" division probably wouldn't p*ss me off too bad, and I certainly wouldn't have a problem with new scripts I wrote. But if it broke old scripts, I wouldn't be extremely happy. FWIW, ISTM that "true" division would be better implemented by the new // operator, leaving the behavior of / unchanged. But that's probably just me. Regards, -=Dave -- Change is inevitable, progress is not. -- http://mail.python.org/mailman/listinfo/python-list