Python 为什么我们不能随机十进制值

-3 python random decimal

我的代码:

import random
randomlist = []
for i in range(0,100):
    n = random.randint(1.0,2.0)
    randomlist.append(n)
print(randomlist)
Run Code Online (Sandbox Code Playgroud)

从上面的代码:

n = random.randint(1.0,2.0)
Run Code Online (Sandbox Code Playgroud)

这是正确的

但当

n = random.randint(0.1,1.0)
n = random.randint(0.001,1.001)
Run Code Online (Sandbox Code Playgroud)

给出错误

> Traceback (most recent call last):   File
> "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py",
> line 31, in <module>
>     start(fakepyfile,mainpyfile)   File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py",
> line 30, in start
>     exec(open(mainpyfile).read(),  __main__.__dict__)   File "<string>", line 4, in <module>   File
> "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/random.py",
> line 248, in randint
>     return self.randrange(a, b+1)   File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/random.py",
> line 212, in randrange
>     raise ValueError("non-integer arg 1 for randrange()") ValueError: non-integer arg 1 for randrange()

[Program finished]
Run Code Online (Sandbox Code Playgroud)

怎么可能?

小智 5

Randint 给出一个随机整数整数是一个非十进制数。

只需使用 random.uniform