【发布时间】:2016-01-26 03:13:29
【问题描述】:
我的代码:
for i in range( 3.3, 5 ):
print( i )
以上代码必须打印:
3.300000
4.300000
但是 Python 3.4.0 的解释器打印了以下错误:
TypeError: 'float' 对象不能被解释为整数
【问题讨论】:
-
range()使用整数,而不是小数值。
标签: python-3.4
我的代码:
for i in range( 3.3, 5 ):
print( i )
以上代码必须打印:
3.300000
4.300000
但是 Python 3.4.0 的解释器打印了以下错误:
TypeError: 'float' 对象不能被解释为整数
【问题讨论】:
range() 使用整数,而不是小数值。
标签: python-3.4
range() 适用于整数而不是浮点数,但您可以构建自己的范围生成器来满足您的需求:
def frange(start, stop, step=1):
i = start
while i < stop:
yield i
i += step
for i in frange(3.3, 5) 会给你想要的结果。
但请注意,frange 与 range 不同,但与 xrange 类似,将返回生成器而不是列表。
【讨论】: