2016-11-05 4 views
-2

파이썬을 사용하여 단어 fizz를 계산하려고합니다. 그러나 그것은 나에게 오류를주고있다.파이썬에서 '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

오류가 무엇입니까? 파이썬의 오류 메시지는 대개 매우 유용합니다. – Jakub

+0

오류는 - 파일 "python", 줄 8 SyntaxError : 함수 외부에서 'return' –

+2

들여 쓰기가 * 문제 *입니다. –

답변

1

들여 쓰기가 올바르지 않아 처음으로 return count이 없어야합니다 (사용자가 정의하는대로 count을 반환하는 이유는 무엇입니까?). 몇 들여 쓰기 변경도 있습니다 바로 count = 0

return 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

다음 코드를 보시기 바랍니다.

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

문제는

이 함께 시도 회선 수익의 identation입니다. 들여 쓰기 및 간격을 고정하고 다음과 같이 작동합니다.

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

당신은 당신의 코드에서 첫 번째 '리턴'문을 필요가 없습니다

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

남아있는 return 문을 들여 쓰기를 확인 했습니까? 첫 번째 return 문없이 코드가 작동합니다. 올바르게 들여 쓰기를 확인하지 않으면 오류가 발생합니다. 들여 쓰기는 파이썬에서 중요합니다. return 문 앞에 4 개의 공백이나 하나의 탭 들여 쓰기가 있으므로 fizz_count 함수 내에서 코드를 정확히 실행 해보십시오. – AnneV

+0

codecademy python IDE에서 들여 쓰기를 확인했습니다. 그것은 작동하지 않습니다. –

0

글쎄 파이썬 세계에 처음 들어 왔습니다. 내가 배운 것은 return statement가 이런 식으로되어야한다는 것이다.

예 하나 -

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] 

예 2 : -

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