gpt4 book ai didi

python - python 库中的 "non-integer arg 1 for randrange()"

转载 作者:太空宇宙 更新时间:2023-11-04 06:52:25 30 4
gpt4 key购买 nike

我使用随机数生成器生成 5 到 10 之间的随机数。可以不那么难吗?我之前在代码中使用过它(+2000 行代码,这里太多了)并且没有发生编码错误。

我的代码只是我游戏的彩蛋,但它破坏了我所有的代码:

...
def slowp(t):
for l in t:
sys.stdout.write(l)
sys.stdout.flush()
x=random.randint(0.1,0.9)
time.sleep(x)
print("")

if act=="++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>":
slowp("Hey, that is hello world made in brainfuck!")
...

act 是一个字符串,其值由用户简单地使用 act=str(input("type here.")) 提供。直接在这部分之前完成。

错误信息:

Traceback (most recent call last):
File "startgame.py", line 2084, in <module>
slowp("Hey, that is hello world made in brainfuck!")
File "startgame.py", line 140, in slowp
x=random.randint(0.1,0.9)
File "/usr/lib/python3.4/random.py", line 216, in randint
return self.randrange(a, b+1)
File "/usr/lib/python3.4/random.py", line 180, in randrange
raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()

实际问题是什么?

最佳答案

您正在尝试将 float 值传递给random.randint()。该函数只接受整数

您需要使用 random.uniform() function反而;它会在下限和上限(含)之间产生一个均匀的随机值:

Return a random floating point number N such that a <= N <= b for a <= b and b <= N <= a for b < a.

演示:

>>> import random
>>> random.uniform(0.1, 0.9)
0.6793304134926453

关于python - python 库中的 "non-integer arg 1 for randrange()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26784252/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com