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)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127959.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python进阶(6)深拷贝和浅拷贝[通俗易懂]

    python进阶(6)深拷贝和浅拷贝[通俗易懂]深拷贝和浅拷贝不管对于浅拷贝、还是深拷贝,针对不可变对象str、int、tuple(有点特殊)、boolean,它的内存地址是不变的,拷贝的仅仅是值importcopya=1b=co

    2022年7月30日
    9
  • 机械振动单位_机械振幅单位

    机械振动单位_机械振幅单位振动一般可以用以下三个单位表示:mm、mm/s、mm/(s^2)。mm振动位移:一般用于低转速机械的振动评定;7丝就是70um,是振动位移值。mm/s振动速度:一般用于中速转动机械的振动评定;一

    2022年8月6日
    7
  • J2ME开发环境部署!「建议收藏」

    J2ME开发环境部署!「建议收藏」一、准备工作我作为一名使用Eclipse开发Java程序的开发人员,学习开发J2ME程序当然还是要使用我最爱的Eclipse啦。Eclipse目前最新的版本是EclipseSDK3.1。你可以在

    2022年7月4日
    24
  • kafka批量删除topic_kafka自动创建topic

    kafka批量删除topic_kafka自动创建topic方法一:快速配置删除法1.kafka启动之前,在server.properties配置delete.topic.enable=true2.执行命令bin/kafka-topics.sh–delete–topictest–zookeeperzk:2181或者使用kafka-manager集群管理工具删除注意:如果kafka启动之前没有配置delete.topic.enab…

    2022年10月7日
    4
  • offset偏移量_如何调用结构体

    offset偏移量_如何调用结构体一、函数原型#include<stddef.h>size_toffsetof(type,member);offsetof原型定义:defineoffsetof(t,m)((size_t)&((t*)0)->m)1、关于&((t*)0)的解释1-1:(type*)0作用是强制类型转换,将0转换为(type*)类型,一个type指针类型1-2:编译器在会将&((t*)0)优化为直接取地址,因为这种表达是:先访问空间,再取空间的

    2022年8月22日
    7
  • 用c语言编写学生成绩管理系统(c语言学生成绩管理系统删除)

    一、课程设计题目①基本要求题目:矩阵乘法。②综合训练:学生成绩管理系统二、设计要求矩阵乘法:编写一个函数实现矩阵A(2行3列)与矩阵B相乘(3行2列),乘积放在C数组中。在主函数中输入相乘的两数组,并输出结果。学生成绩管理:(结构体数组、函数、指针、算法、流程结构及文件等的综合应用)程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,…

    2022年4月11日
    165

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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