Juicy Samurai Asked: 2023-12-17 11:18:21 +0800 CST2023-12-17 11:18:21 +0800 CST 2023-12-17 11:18:21 +0800 CST 为什么在 Python 中使用 randint 函数会出现此 TypeError? 772 在我从大学获得的 main.py 文件(这是作业的一部分)中,我在尝试运行 main.py 文件时收到此错误消息: 那不应该发生。我确实在应该的地方编写了正确的代码。我不应该在不允许更改的地方出现错误。而且这只是我遇到的问题!我班上的其他人即使使用相同的代码也没有遇到这个问题! 我的Python版本是:Python 3.12.1 非常感谢任何帮助! python-3.x 1 个回答 Voted Best Answer wim 2023-12-17T11:21:49+08:002023-12-17T11:21:49+08:00 random.randint应该以整数范围调用,但 1e15 是浮点数。 尝试改为: randint(0, 10**15) 由于您多次调用它,因此最好使用random.choices: Ai = random.choices(range(10**15 + 1), k=len(elems)) 如果您不允许修改 中的代码main.py,那么您应该向讲师澄清应使用哪个 Python 版本来完成此作业,因为main.py由于删除了 中的类型强制,中的代码将无法在 Python 3.12 上运行randrange: 版本 3.12 中更改:不再支持非整数类型的自动转换。来电如randrange(10.0)现在randrange(Fraction(10, 1))提出TypeError。 实际上,您可能应该通知讲师:提到互联网上有人说需要main.py针对 Python 3.12 修复代码,并将其链接到此问答。
random.randint
应该以整数范围调用,但 1e15 是浮点数。尝试改为:
由于您多次调用它,因此最好使用
random.choices
:如果您不允许修改 中的代码
main.py
,那么您应该向讲师澄清应使用哪个 Python 版本来完成此作业,因为main.py
由于删除了 中的类型强制,中的代码将无法在 Python 3.12 上运行randrange
:实际上,您可能应该通知讲师:提到互联网上有人说需要
main.py
针对 Python 3.12 修复代码,并将其链接到此问答。