1
的Python 2.7.6在CentOS上IndexError
给出一个字符串OS X或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的为好,但得到了同样的结果。
和'random.randrange()'会给你'范围()'语义代替。 – 2014-09-06 12:03:03
我其实并没有意识到0被算作一个数字。 – user193673 2014-09-06 12:12:49