[New-bugs-announce] [issue18267] xmlrpc.client documentation multicall example missleading for division behaviour of python3

Bernhard Reiter report at bugs.python.org
Wed Jun 19 23:03:25 CEST 2013


New submission from Bernhard Reiter:

http://docs.python.org/3.4/library/xmlrpc.client.html as of 2013-06-19 20:35 UTC
has a divide example and the output can misslead the learning reader
towards the new behaviour of python3 with the '/' binary operator for division.

server code:
  def divide(x, y):
    return x/y
client code:
  multicall.divide(7,3)
[..]
  print("7+3=%d, 7-3=%d, 7*3=%d, 7/3=%d" % tuple(result))

The client call results into:
  python3 client.py 
7+3=10, 7-3=4, 7*3=21, 7/3=2

This is missleading because '7/3' is now resulting to a float in python3 (see PEP238).The example probably was copied over from the python2 documentation
where '7/3' result to int. The implicit conversion from float to int is done
in the string formatting.

Proposal replace the print line with
  print("7+3=%d, 7-3=%d, 7*3=%d, 7/3=%g" % tuple(result))
to get 
  7+3=10, 7-3=4, 7*3=21, 7/3=2.33333
or
  print(repr(tuple(result)))
to get
(10, 4, 21, 2.3333333333333335)

----------
assignee: docs at python
components: Documentation
messages: 191495
nosy: ber, docs at python
priority: normal
severity: normal
status: open
title: xmlrpc.client documentation multicall example missleading for division behaviour of python3
versions: Python 3.1, Python 3.2, Python 3.3, Python 3.4

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue18267>
_______________________________________


More information about the New-bugs-announce mailing list