[英]new to coding and python. trying to force type (int) for a float answer
balance = 50 - 0.12 * 15
tracks_left = balance / 0.12
round (tracks_left, 0)
print 'you have', tracks_left,"to download"
The answer is you have 401.666666667 to download
I've tried round(tracks_left, 0)
and int (tracks_left)
. 答案是you have 401.666666667 to download
我尝试过round(tracks_left, 0)
和int (tracks_left)
。 What am I doing wrong? 我究竟做错了什么?
round(tracks_left, 0)
does not mutate tracks_left, but instead returns a new value. round(tracks_left, 0)
不会突变tracks_left,而是返回一个新值。 Likewise with int(tracks_left)
. 同样与int(tracks_left)
。
Try: 尝试:
tracks_left = round(tracks_left, 0)
Or: 要么:
tracks_left = int(tracks_left)
Note: int
always rounds down. 注意: int
总是四舍五入。
round(tracks_left, 0)
doesn't change tracks_left
. round(tracks_left, 0)
不会更改tracks_left
。 It just returns the value. 它只是返回值。 You have to assign it to something. 您必须将其分配给某些东西。
>>> 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
You could as well do this: 您也可以这样做:
>>> balance = 50 - 0.12 * 15
>>> tracks_left = round(balance / 0.12)
You can also try int
: 您也可以尝试int
:
>>> tracks_left_rounded = int(tracks_left)
>>> print('You have', tracks_left_rounded)
You have 401
I hope it helps! 希望对您有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.