2016-08-18 2 views
0
balance = 50 - 0.12 * 15 
tracks_left = balance/0.12 
round (tracks_left, 0) 
print 'you have', tracks_left,"to download" 

에 대한 유형 (int)를 강제하려고 대답은 내가 round(tracks_left, 0)int (tracks_left) 시도했습니다 you have 401.666666667 to download 입니다. 내가 뭘 잘못하고 있니?새로운 코딩 및 파이썬 부동 소수점 응답

답변

2

round(tracks_left, 0)은 tracks_left를 변경하지 않고 대신 새 값을 반환합니다. 마찬가지로 int(tracks_left).

시도 :

tracks_left = round(tracks_left, 0) 

또는 :

tracks_left = int(tracks_left) 

참고 : int 항상 아래로 반올림합니다.

1

round(tracks_left, 0)tracks_left은 변경되지 않습니다. 그냥 값을 반환합니다. 그것을 무언가에 할당해야합니다.

>>> balance = 50 - 0.12 * 15 
>>> tracks_left = balance/0.12 
>>> tracks_left_rounded = round(tracks_left, 0) 
>>> print('You have', tracks_left_rounded) 
You have 402.0 

당신은뿐만 아니라이 작업을 수행 할 수 있습니다 :

>>> balance = 50 - 0.12 * 15 
>>> tracks_left = round(balance/0.12) 

또한 int을 시도 할 수 있습니다 :

>>> tracks_left_rounded = int(tracks_left) 
>>> print('You have', tracks_left_rounded) 
You have 401 

을 나는 그것이 도움이되기를 바랍니다!

+0

대단 했어! 아름답게 일했고 방금 다른 것을 이해했습니다. 변수를 참조하기 전에 새 값을 할당해야합니다. 잘못된 것을 수행 한 것입니다. 고마워. – amiacoda