def attack(n, file):
global line
j = randint(0, n-4)
for i in range(0, j):
line = file.readline()
print(line[slice(0, len(line)-1)])为什么在此语句中没有定义line?
print(line[slice(0, len(line)-1)])发布于 2019-09-25 03:44:20
https://docs.python.org/2/library/random.html#random.randint
如果您阅读这里的文档,randint(...)中的值是包含的。因此,在某些情况下,j的值等于0。
由于您在循环内为line赋值,并且如果循环从不执行,则变量line永远不会被赋值。
您可以将randint更改为:
randint(1, n-4) # assuming n > 4, otherwise you will get an error或者预先为line分配一个虚拟值。
https://stackoverflow.com/questions/58087089
复制相似问题