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@python
components: Documentation
messages: 191495
nosy: ber, docs@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 <rep...@bugs.python.org>
<http://bugs.python.org/issue18267>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to