为什么x
没有在函数外定义?问题return x
错了吗?
def find():
X 否则:
find()
答案 0 :(得分:6)
将return x
放在循环之外:
def find():
data=file('file.dat')
x=0
for line in data:
if 'metaend' in line:
break
else:
x+=1
return x
要获取x
的值,请使用函数的返回值:
count = find()
答案 1 :(得分:2)
你的功能永远不会返回任何东西。检查一下,添加一些错误处理,无需元数据检测结束
def find():
data=file('file.dat')
x=0
for line in data:
if 'metaend' in line:
return x
x += 1
raise Exception('heeey no end of metadata')
顺便说一下,python对循环中的计数器有一个非常好的函数:
def find():
data=file('file.dat')
for counter, line in enumerate(data):
if 'metaend' in line:
return counter
raise Exception('heeey no end of metadata')