range函数方法简述

本文详细解析了Python中range()函数的工作原理,包括其参数start、stop、step的作用,以及如何处理负数和非整数值。同时,提供了一个自定义的float_range()函数,用于处理浮点数参数,实现类似range()的功能。

range()函数有三个参数,分别为start(计数起始值,不写默认为0),stop(计数结束值,但不包括stop本身),step(步长,默认为1)

语法:

range(stop)
range(start,stop[,step])

range()函数是左闭右开的

>>>for x in range(2,5):
>>>    print(x,end=" ")
2 3 4

range()函数接收的参数必须是整数,可以为负数,但不能为浮点数等其他类型

>>>for x in range(-12,-1,4):
>>>    print(x)
-12
-8
-4

[注]当参数end不写时,默认为end="\n"
下面是对range方法的一个扩展,通过通过构造函数传入浮点型参数,虽然传入的是浮点型数据,但是对range函数的使用规则仍不会改变,其实是将导入的参数经过数据类型的转变,最终使range函数能接收的整形数据,函数的返回值经过先放大后缩小的原则输出小数点位数正确的结果。

def float_range(start, stop, step):
    start_digit = len(str(start)) - 1 - str(start).index(".")
    stop_digit = len(str(stop)) -1 - str(stop).index(".")
    step_digit = len(str(step)) -1 - str(step).index(".")
    digit = max(start_digit,stop_digit,step_digit)#筛选其中三个参数的最大值,控制返回小数点的位数
    return [(start*10**digit + i*step*10**digit)/10**digit for i in range(int((stop-start +step*0.9)//step))]
a = float_range(1.23,23.32,5.23)
print(a)

输出结果:

[1.23, 6.46, 11.69, 16.92, 22.15]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值