首页 > 解决方案 > 如何在 Python 中定义函数?

问题描述

以下内容按预期与 print 一起工作,但一旦我尝试使用 Def 并返回创建函数,我就会收到以下错误。

SyntaxError: 'return' 外部函数

无论我做什么或将退货放在哪里,它都不起作用。我显然缺少一些有关功能的基本知识。我哪里错了?

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]
    ]

标签: python-3.x

解决方案


缩进在 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]
    ]

推荐阅读