【发布时间】:2014-09-06 11:57:31
【问题描述】:
OS X 上的 Python 2.7.6 或 CentOS 上的 Python 2.6.6
给定一个字符串:'abcdefghijklmno' 从该字符串中选择一个随机字符:
#!/usr/bin/env python
import random
symbols = 'abcdefghijklmnop'
print symbols[random.randint(1, len(symbols))]
结果通常是我所期望的,来自该字符串的随机字符。但是多次运行:
$ for i in {1..100}; do python test.py; done;
偶尔会返回一个IndexError:
....
h
f
f
Traceback (most recent call last):
File "test.py", line 6, in <module>
print symbols[random.randint(1, len(symbols))]
IndexError: string index out of range
b
n
....
我首先考虑随机数生成器可能在 OS X 中存在错误,因此我也在 CentOS 上尝试了它,但得到了相同的结果。
【问题讨论】: