2015-02-05 2 views
-4

누구든지 내 코드와 관련된 문제를 말할 수 있습니다. 어떤 이유로 인해 if 문이 작동하지 않습니까?두 변수 사이에 statment가 작동하지 않는 경우

Rated Duration = 20.0 
Duration = 10 

코드는 다음과 같습니다 :

원래 데이터는 다음과 같습니다

다음 인쇄 더블 기간 인 rated_duration 결과를 작동
import csv 

def _getRatedDuration(row): 
    rated_duration = row["rated_duration"] 
    if rated_duration.endswith('.0'): 
     return rated_duration[:-2] 

with open('all.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     if row["duration"] * 2 == _getRatedDuration: 
      print (row["rated_duration"], row["duration"]) 

..

doubled = int(row["duration"]) * 2 
print (row["rated_duration"], doubled] 
+6

이 동일하지 않습니다 함수에 값을 비교하고, 그래서 당신은'_getRatedDuration' 함수를 호출하지 않았다. – davidism

+0

@ 대성표, 대답에 넣어 라! 고맙습니다! –

답변

2

행 매개 변수를 사용하여 _getRatedDuration에 전화하는 걸 잊었습니다. 지금 숫자를 함수 객체와 비교하고 있습니다.

수정 :

if row["duration"] * 2 == _getRatedDuration(row): 
+0

정확히 2 분 전에 댓글에 표시되는 내용입니다. – Kasramvd

관련 문제