大家好,又见面了,我是你们的朋友全栈君。
取整方式
下面介绍几种常用的取整方法,包括向下取整、四舍五入、向上取整。
(1)向下取整
向下取整很简单,直接使用int()函数即可,如下代码(Python 2.7.5 IDLE)
a = 3.75
int(a)
3
(2)四舍五入
第二种就是对数字进行四舍五入,具体的看下面的代码:
a=3.25;b=3.75
round(a);round(b)
3.0
4.0
(3)向上取整
但三种,就是向上取整,也就是我这次数据处理中需要的,由于之前没在Python中用到过,所以不太熟悉,其实Python的math中就带了向上取整的函数,即 ceil 方法,专门用于向上取整,实例如下:
import math
math.ceil(3.25)
4.0
math.ceil(3.75)
4.0
练习
5、某公司的市内通话计费标准为:
三分钟内 0.2元
三分钟后每增加一分钟增加0.2元,不足一分钟按照一分钟算
要求编写程序,给定一个通话时间(单位:s),计算出收费金额
import math
def telfare(telTime):
time = math.ceil(float(telTime)/60) #math.ceil向上取整
if time <= 3:
fare = 0.2
else:
fare = 0.2+(time-3)*0.2
return fare
print telfare(250)
6、某市的出租车计费标准为:
3公里内10元,3公里以后每增加0.5公里加收1元,每等待2分钟加收1元
超过15公里加收原价50%的空驶费
#参数:公里数km,时长time,
import math
def taxiCost(km,time):
km=float(km)
mins=math.ceil(float(time/60))
if km<=3.0:
cost=10+math.ceil(mins/2.0)
elif km>15:
cost=(10+math.ceil(mins/2.0)+(km-3.0))*1.5
elif km>3 and km<=15:
cost=10+math.ceil(mins/2.0)+(km-3.0)
return cost
print taxiCost(16,180)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127959.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...