저는 파이썬에 익숙하지 않고 함수 customer_state
에 어려움을 겪고 있습니다. CSV 파일에서 데이터를 가져 오는 다른 함수가 있습니다. 나는) 그 파일에서 열의 합계를 얻고 또한 일 (시간 t 동안 나에게 성장 속도를 제공하는 (sm1
을 얻고 싶은 이것은 내가 지금까지 한 일이다.상수를 범위 (366)로 나누는 방법은 무엇입니까?
def del_pass():
reader = csv.DictReader(open("data.csv", "rb"))
all_rows = list()
for row in reader:
all_rows.append(row)
return all rows
def get_one_column(name):
column_list= list()
rows = del_pass()
for row in rows:
value = row(name)
if value =='':
value = 0
else:
value = int(value)
column_list.append(value)
return column_list
def customer_state(x):
sm = sum(x)
t = range(366)
sm1 = sm + (0.07 * (t/365) * sm)
return sm, sm1
def example_use1():
column_name ="totcust"
column = get_one_column(column_name)
column_stats = customer_state(column)
print column_stats
모든 기능이 보인다 내게 같은 오류를 범 customer_state(x)
제외하고 잘 작동한다.
sm1 = (sm + ((0.07/t) * sm))
TypeError: unsupported operand type(s) for /: 'float' and 'list'
'0.07/range (366)'의 결과는 무엇을 기대합니까? 나는 당신이 거기에서 기대했던 결과를 상상할 수 없다. –
작은 예를 들어 주시겠습니까? –
메시지에 따르면 범위 (366)는 숫자가 아니고 목록입니다. 인쇄본 (범위 (366))을 사용하여 그 내용을 확인하십시오. – gcandal