파이썬 매핑 기초질문
조회수 461회
calories={
'밀가루':364,
'피망':20.1,
'올리브':115,
'돼지고기':242.1
}
def 칼로리(name,kcal):
return calories.get(name)*kcal//100
print(칼로리('돼지고기',500))
print(칼로리('소고기',500))
여기서 결과치가 돼지고기는 1210.5 <- 소수점까지 나와야하고 소고기는 키가없으므로 None으로 떠야하는데요.
실제 결과는 돼지고기가 1210.0 이며 소고기가 오류로 뜹니다. 무엇이 잘못된걸까요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
>>> None*500 Traceback (most recent call last): File "<pyshell#14>", line 1, in <module> None*500 TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
get 의 결과가 None 이 나왔다고 하고, 그다음에 500 곱하기 하다가 예외발생하죠.
-
돼지고기값에서 나눌때 / 하나만 쓰세요. // 는 몫을 구하는 거에요.
>>> 242.1 * 500 / 100 1210.5 >>> 242.1 * 500 // 100 1210.0
댓글 입력