2016-11-05 76 views
-2

我想用python来计算fizz这个词。但它给我一个错误。python语法错误'return'外部函数

def fizz_count(x): 
    count =0 
for item in x : 
    if item== "fizz": 
     count=count+1 
return count 

item= ["fizz","cat", "fizz", "Dog", "fizz"] 

example= fizz_count(item) 

print example 

我检查了缩进,但它仍然不起作用。我在哪里做错了?

+0

什么错误? Python的错误消息通常非常有帮助。 – Jakub

+0

错误是 - 文件“python”,第8行 SyntaxError:'return'外部函数 –

+2

您的缩进*是*问题。 –

回答

1

您的缩进似乎不正确,您不应该有第一个return count(您为什么一定要返回count ??)。

def fizz_count(x): 
    count = 0 
    for item in x: 
     if item == "fizz": 
      count += 1 # equivalent to count = count + 1 
    return count 

item = ["fizz", "cat", "fizz", "Dog", "fizz"] 

example = fizz_count(item) 

print example 
1

请尝试以下代码:后count = 0

收尸return count也有几个缺口的变化。

def fizz_count(x): 
    count = 0 

    for item in x: 
     if item== "fizz": 
      count=count+1 
    return count 

item = ["fizz","cat", "fizz", "Dog", "fizz"] 

example = fizz_count(item) 

print example 
1

问题是在您的线路回报identation

试试这个:

def fizz_count(x): 
    count =0 
    for item in x : 
     if item == "fizz": 
      count += 1 
    return count 
1

你并不需要在代码中第一个 'return' 语句。它的工作原理如下,缩进和间距固定:

def fizz_count(x): 
    count = 0 
    for item in x: 
     if item == "fizz": 
      count = count + 1 
    return count 

item= ["fizz","cat", "fizz", "Dog", "fizz"] 

example = fizz_count(item) 
print example 
+0

第一次返回计数是一个错误,我删除它,但仍然有问题。 –

+0

您是否确定缩进您的剩余退货声明?你的代码没有第一个返回语句,从那里你会得到一个错误,如果你不确定你是否正确缩进。缩进在Python中很重要;尝试完全按照我在这里写的代码运行你的代码(在返回语句之前四个空格或一个tab缩进,所以它在你的fizz_count函数中)。 – AnneV

+0

我正在使用codecademy python IDE,我检查了缩进。它不工作。 –

0

那么我是新的Python世界。我学到的是return语句应该是这样的一些东西。

例一: -

def split_train_test(data, test_ratio): 
    shuffled_indices = np.random.permutation(len(data)) 
    test_set_size = int(len(data) * test_ratio) 
    test_indices = shuffled_indices[:test_set_size] 
    train_indices = shuffled_indices[test_set_size:] 
    return data.iloc[train_indices],data.iloc[test_indices] 

例二: -

def load_housing_data(housing_path=HOUSING_PATH): 
    csv_path = os.path.join(housing_path, "housing.csv") 
    return pd.read_csv(csv_path)