我对这个函数有问题。 当我尝试运行代码时,在函数外部弹出一条消息“return”。在
谢谢。在
def find_details(id2find):
surfistas_f = open("surfing_data.csv")
for each_line in surfistas_f:
s={}
(s['id'], s['nome'],s['pais'],s['media'],s['prancha'],s['idade'])= each_line.split(";")
if id2find == int(s['id']):
surfistas_f.close()
return(s)
surfistas_f.close()
return({})
lookup_id=int(input(" Entre com a identificação do surfista: "))
surfer = find_details(lookup_id)
if surfer:
print("ID: " + surfer['id'])
print("Nome: " + surfer['nome'])
print("País: " + surfer['pais'])
print("Média: " + surfer['media'])
print("Prancha: " + surfer['prancha'])
print("Idade: " + surfer['idade'])
return({})
在函数find_details
之外。你只需要缩进,像这样:空白和缩进在Python中非常重要。Python不像其他语言那样使用大括号,因此它通过缩进来标识哪些行是内容的一部分。例如这个简单的函数:
如果Python使用了大括号,可以这样认为(一想到这个我就不寒而栗):
^{pr2}$如果将此方法更改为:
如括号所示:
因此,在Python中,确保所有内容都正确缩进是非常重要的。因此,特别是对于您的方法,返回值将缩进到与方法名相同的级别,这意味着Python解释器会认为它在方法之外。您不能在方法/函数之外使用关键字
return
,因此您看到了所看到的错误。但是,如果在结尾使用print()
或其他方法,您会看到一些意想不到的结果。在我还建议使用Python的
with
语句打开文件,它为您处理关闭和打开文件:请注意代码格式。 在这2行之前需要4个额外的空间:
相关问题 更多 >
编程相关推荐