This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2014年10月21日 15:27 by sciencebuggy, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Messages (2) | |||
|---|---|---|---|
| msg229765 - (view) | Author: FHuber (sciencebuggy) | Date: 2014年10月21日 15:27 | |
Upon inspection, random.randint(a,b) does not include the endpoint b, contrary to documentation, and contrary to the argumentation in Issue7009. To see this, run e.g. sum(np.random.randint(0,1,1000)) which will return 0 repeatedly (statistically very unlikely). I tried both on Kubuntu 14.04/python 2.7 and pythoneverwhere.org Within random.py, randint is (in both 2.7 and 3.5) implemented as def randint(self, a, b): """Return random integer in range [a, b], including both end points. """ return self.randrange(a, b+1) which falsely seems to include the endpoint (as randrange excludes the endpoint). However, upon running it does not. |
|||
| msg229766 - (view) | Author: Mark Dickinson (mark.dickinson) * (Python committer) | Date: 2014年10月21日 15:42 | |
You seem to be confusing `np.random.randint`, which is a function from NumPy (not part of core Python), with `random.randint` from the standard library. NumPy's np.random.randint does not include the endpoint. Python's does. As far as I can tell, the documentation is correct for both. Python 2.7.8 (default, Oct 15 2014, 22:04:42) [GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import random >>> sum(random.randint(0, 1) for _ in range(1000)) 501 Closing as 'not a bug'. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:09 | admin | set | github: 66876 |
| 2014年10月21日 15:42:28 | mark.dickinson | set | status: open -> closed nosy: + mark.dickinson messages: + msg229766 resolution: not a bug |
| 2014年10月21日 15:27:49 | sciencebuggy | create | |