Python怎么取整(Python程序打包)

Python取整方式:背景在处理数据的时候,碰到了一个问题,就是取整方式!比如给定一个数值型列表,我需要分别获取它位置为长度的0%,25%,50%,75%,100%处的几个数字。但Python自带的int是向下取整,如果数字长度是5,理论上这五个数字分别对应0%,25%,50%,75%,100%的位置,但使用int,结果却并不是入次。比如当5*0.75时,如果加上int(5*0.7

大家好,又见面了,我是你们的朋友全栈君。

取整方式

下面介绍几种常用的取整方法,包括向下取整、四舍五入、向上取整。

(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账号...

(0)


相关推荐

  • DNS负载均衡与负载均衡器两种方案的选择[通俗易懂]

    DNS负载均衡与负载均衡器两种方案的选择[通俗易懂]DNS负载均衡与负载均衡器两种方案的选择  web应用服务器集群系统,是由一群同时运行同一个web应用的服务器组成的集群系统,在外界看来,就像是一个服务器一样。为了均衡集群服务器的负载,达到优化系统性能的目的,集群服务器将众多的访问请求,分散到系统中的不同节点进行处理。从而实现了更高的有效性和稳定性,而这也正是基于Web的企业应用所必须具备的特性。    高可靠

  • STM32编程怎么入门,聊聊我的入门经历

    STM32编程怎么入门,聊聊我的入门经历我第一次接触STM32大概是在8,9年前。当时刚出来工作不久,在此之前主要用stc和nxp的单片机比较多。那个时候还没有固件库开发的概念,基本都是配置寄存器去使用单片机外设资源。虽然说用起来比较麻烦,但是执行的效率也相对高一点,习惯了也挺好用。新项目比较复杂一点,一个老工程师建议我用stm32的单片机做效率比较高。听大佬的话照做是一个小菜鸟的基本素养,所以我选了stm32。对于学习这块,我也比较舍得(当时月薪只有1.8K),毫不犹豫花了几百大洋购买了一套stm32开发板。学习一款

  • copyproperties爆红_利用BeanUtils.copyProperties 克隆出新对象,避免对象重复问题[通俗易懂]

    copyproperties爆红_利用BeanUtils.copyProperties 克隆出新对象,避免对象重复问题[通俗易懂]1、经常用jQuery获取标签里面值val(),或者html(),text()等等,有次想把获取标签的全部html元素包括自己也用来操作,查询了半天发现$(“#lefttr1”).prop(“outerHTML”)即可。2、当时遇到这个错误,后发现是缺少主键错误。3、JsonMappingException:Nosuitableconstructorfound,reatethedef…

  • java线程池面试题_java之线程池面试题

    java线程池面试题_java之线程池面试题面试官:线程池有哪些?分别的作用是什么?常用的线程池有:newSingleThreadExecutornewFixedThreadExecutornewCacheThreadExecutornewScheduleThreadExecutor1、newSingleThreadExecutor:单个线程的线程池,即线程池中每次只有一个线程工作,单线程串行执行任务;2、newFixedThreadExe…

  • laravel-admin

    laravel-admin

    2021年10月29日
  • OV7725鹰眼摄像头

    OV7725鹰眼摄像头OV7725鹰眼摄像头如何使用?目前的ov7725鹰眼摄像头,基本上用的都是山外的库,所以今天我们主要根据山外的库,基于k60芯片,给大家具体的讲解。1.摄像头初始化首先是摄像头的第一步就是初始化,这个我们直接去调用就行!camera_init(imgbuff);当然小伙伴在这里需要记住,需要配置中断优先级!对于我们使用摄像头的车而言,一般优先级最高的就是摄像头,所以小伙伴要记着给它分配优先级!我这里是分了五个优先级!大家也可以根据自己的需求,进行自主分配。NVIC_SetPriorit

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号