ValueError:randrange()的范围为空(1,1,0)

2024-10-03 11:12:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我写的是从用户那里得到的命中数字的百分比,并检查它是否命中该数字, 并返回true或false。 但我还是犯了这个错误

ValueError: empty range for randrange() (1,1, 0)

你能帮我吗

def PercentConvertion(Percent):
IntPercent = int(Percent / 100)
Chance = random.randint(1,IntPercent)
purpose = int(IntPercent / 2)
hit = None
if Chance == purpose:
    hit = True
else:
    hit = False
return hit

Tags: 用户falsetrue错误range数字emptyint
2条回答

random.randint(开始,停止)在我们设置停止时为真>;开始

PercentConvertion(10)则IntPercent为0,因此函数显示ValueError

您的起始号码是1,结束号码是1。因此,您正在询问1和1之间的任何数字。但是,1和1之间没有数字,因此存在错误。这就像要一个介于2和2之间的数字:没有。因此,您会得到错误,因为它无法生成任何数字。为了使randrange起作用,第一个数字必须至少比第二个数字少2个或多2个,例如randrange(1,3, 0)

相关问题 更多 >