Python 3.x 如何使用for循环打印浮点值,而不使用范围()以外的其他函数

Python 3.x 如何使用for循环打印浮点值,而不使用范围()以外的其他函数,python-3.x,Python 3.x,我想打印5到8之间的所有数字,跳跃为0.3。 我做这件事有两个问题: 这不是很准确,我知道原因,但我不知道如何使5.899999999变成5.9 我不知道如果没有任何导入和函数,如果没有numpy和xrange,我该怎么做。顺便说一句,据我所知,Python3.x中已经不存在xrange了 这只是一个家庭作业问题,我是一个新的python学习者,所以我不知道python的所有工具和技巧 max = 9 min = 5 step = 0.3 while min <= max: min

我想打印5到8之间的所有数字,跳跃为0.3。 我做这件事有两个问题:

这不是很准确,我知道原因,但我不知道如何使5.899999999变成5.9

我不知道如果没有任何导入和函数,如果没有numpy和xrange,我该怎么做。顺便说一句,据我所知,Python3.x中已经不存在xrange了

这只是一个家庭作业问题,我是一个新的python学习者,所以我不知道python的所有工具和技巧

max = 9
min = 5
step = 0.3
while min <= max:
    min += step
    print(min)

Expected:
5, 
5.3,
5.6,
5.9,
6.2,
...

Actual reasults:
5.3,
5.6,
5.89999999995,
6.1999999999,
6.4999999999,
...
在打印之前,只需使用圆形。如果希望同时打印变量的原始值,则需要更改print语句的位置

while min <= max:
    print(min)
    min+=step
    # rounds min to the first decimal place
    min = round(min,1)

阅读字符串格式:不应该使用max或min作为变量名,因为它们是python中的关键字。
5
5.3
5.6
5.9
6.2
6.5
6.8
7.1
7.4
7.7
8.0
8.3
8.6
8.9
9.2