当前位置: 首页 > news >正文

python编程-内置函数range(),round()详解

一、range()函数

用于生成一系列连续的整数。它常用于循环结构中,如for循环,来指定循环的次数或迭代的范围。

函数语法
range()函数可以接受一个、两个或三个参数:

‌一个参数‌:range(stop)

生成从0到stop-1的整数序列。
示例:range(5)生成[0, 1, 2, 3, 4]。

‌两个参数‌:range(start, stop)

生成从start到stop-1的整数序列。
示例:range(2, 7)生成[2, 3, 4, 5, 6]。

‌三个参数‌:range(start, stop, step)

生成从start到stop-1的整数序列,步长为step。
示例:range(1, 10, 2)生成[1, 3, 5, 7, 9]。
参数说明
‌start‌:序列的起始值,默认为0。
‌stop‌:序列的结束值(不包含该值)。
‌step‌:序列中每个元素之间的差,默认为1。
使用示例

# ‌1、简单范围生成‌
for i in range(5):print(i)
# 输出: 0 1 2 3 4‌# 2、自定义起始值和结束值‌
for i in range(2, 7):print(i)
# 输出: 2 3 4 5 6# ‌3、自定义步长‌
for i in range(0, 10, 2):print(i)
# 输出: 0 2 4 6 8# ‌4、生成递减序列‌
for i in range(5, 0, -1):print(i)
# 输出: 5 4 3 2 1

注意事项
range()函数返回的是一个range对象,这个对象是一个不可变的序列类型,可以用于迭代。
在Python 3中,range()返回的是一个可迭代对象,而不是列表。如果需要得到列表,可以使用list(range(...))进行转换。
range()函数常与for循环结合使用,非常适合执行循环固定次数的任务。

二、round() 函数用于对数字进行四舍五入。
round(number, ndigits=None)
参数说明
number: 要四舍五入的数字,可以是整数或浮点数。
ndigits: 可选参数,指定要保留的小数位数。默认为 None,即返回最接近的整数。
返回值
返回四舍五入后的数值,类型与输入的 number 相同。

# 示例 1: 四舍五入到最近的整数
print(round(3.5))  # 输出: 4
print(round(3.2))  # 输出: 3
print(round(3.6))  # 输出: 4
# 示例 2: 四舍五入到指定的小数位数
print(round(3.14159, 2))  # 输出: 3.14
print(round(3.14159, 3))  # 输出: 3.142
print(round(2.675, 2))     # 输出: 2.67(此例子会引发混淆,见后文解释)

Python的round()函数遵循的是“四舍六入五成双”的规则,也称为“银行家舍入”规则。具体来说:

‌四舍‌:当小数部分小于0.5时,直接舍去。
‌六入‌:当小数部分大于或等于0.6时,进位。
‌五成双‌:当小数部分恰好为0.5时,看5的前一位:
如果前一位是奇数,则进位。
如果前一位是偶数,则舍去。
这种规则旨在减少舍入误差的累积,特别是在金融和统计领域。

在Python中,浮点数是以二进制形式存储的,而某些十进制小数(如2.675)在二进制中无法精确表示,因此会存在微小的舍入误差。当这个误差与round()函数的舍入规则结合时,就可能导致看似意外的结果。

为了获得更高的精度,建议使用 decimal 模块来进行精确的浮点数运算。

from decimal import Decimalnum = Decimal('2.675')
result = num.quantize(Decimal('0.00'))
print(result)  # 输出: 2.68


 


http://www.mrgr.cn/news/89800.html

相关文章:

  • 【GeeRPC】Day1:服务端与消息编码
  • 网络编程 day2
  • .net8.0使用EF连接sqlite数据库及使用Gridify实现查询的简易实现
  • 2025.2.7 Python开发岗面试复盘
  • 一文吃透!DataStage 全面概述与核心知识要点大公开
  • 如何在Windows上使用Docker
  • xinference 安装(http导致错误解决)
  • hive的几种复杂数据类型
  • 深度学习01 神经网络
  • 使用bucardo实现postgresql数据库双主同步
  • 一文速览DeepSeek-R1的本地部署——可联网、可实现本地知识库问答:包括671B满血版和各个蒸馏版的部署
  • 二分查找算法 (典型算法思想)—— OJ例题算法解析思路
  • MFC 学习笔记目录
  • 车型检测7种YOLOV8
  • 订单状态监控实战:基于 SQL 的状态机分析与异常检测
  • 制造业设备状态监控与生产优化实战:基于SQL的序列分析与状态机建模
  • Denavit-Hartenberg DH MDH坐标系
  • 深入解析 COUNT(DISTINCT) OVER(ORDER BY):原理、问题与高效替代方案
  • 芯片AI深度实战:让verilog不再是 AI 的小众语言
  • SQL进阶实战技巧:某芯片工厂设备任务排产调度分析 | 间隙分析技术应用