以下内容可以正常使用print,但是当我尝试使用Def并返回创建函数时,会出现以下错误。
SyntaxError:在函数外部“返回”
无论我做什么,也无论我将退货放在何处,都行不通。我显然缺少一些有关功能的基本知识。我要去哪里错了?
def two_teams(sailors):
sailors ={'Smith': 34,'Wesson': 22,'Coleman': 45,'davies' : 50,'Abrahams': 19, 'Toms': 23}
firstShip =[]
secondShip = []
for i in sailors.keys():
if sailors[i] > 40 or sailors[i] < 20:
firstShip.append(i)
firstShip.sort()
else:
secondShip.append(i)
secondShip.sort()
return [
[firstShip],
[secondShip]
]
答案 0 :(得分:2)
缩进在Python中很重要。确保您的代码正确缩进:
def two_teams(sailors):
sailors ={'Smith': 34,'Wesson': 22,'Coleman': 45,'davies' : 50,'Abrahams': 19,'Toms': 23}
firstShip =[]
secondShip = []
for i in sailors.keys():
if sailors[i] > 40 or sailors[i] < 20:
firstShip.append(i)
firstShip.sort()
else:
secondShip.append(i)
secondShip.sort()
return [
[firstShip],
[secondShip]
]
答案 1 :(得分:0)
我不确定是否是由您的复制和粘贴导致的,但是在python中,您必须注意行之间的缩进和空格。
当你说
def double(x):
您需要在其后跟右一行(除非您使用jupyter)
def double(x):
return 2*x
缩进也必须正确才能起作用。
def two_teams(sailors):
sailors ={'Smith': 34,'Wesson': 22,'Coleman': 45,'davies' : 50,'Abrahams': 19, 'Toms': 23}
firstShip =[]
secondShip = []
for i in sailors.keys():
if sailors[i] > 40 or sailors[i] < 20:
firstShip.append(i)
firstShip.sort()
else:
secondShip.append(i)
secondShip.sort()
return [[firstShip],[secondShip]]
每个缩进级别或4个空格的制表符。请当心并阅读一些有关python的间距和缩进的信息。