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