random.choice()由于某些原因无法工作。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了random.choice()由于某些原因无法工作。相关的知识,希望对你有一定的参考价值。

出于某种原因,当我尝试使用random.choice()时,它无法工作,并向我显示了这个错误,我正试图为我的机器人制作一个命令。

Command raised an exception: AttributeError: 'builtin_function_or_method' object has no attribute 'choice'
import random

Rev = random.choice(Rev_list)
Rev = str(Rev)
Rev_better = Rev.replace('Cats' ,person)
Rev_better = Rev_better.replace("Cats," ,person)
Rev_better = Rev_better.replace("cats", person)
Rev_better = Rev_better.replace("film", "person")
Rev_better = Rev_better.replace("movie", "person")
await ctx.send(Rev_better)
答案

试试下面的方法

import random
print(random.choice([1, 2, 3]))
from random import random
print(random.choice([1, 2, 3]))

在第2行成功,但在第4行失败,因为

AttributeError: 'buildin_function_or_method' 对象没有属性'choice'。

原因是你把名字 random 的模块,但之后你又绑定了同样的名字 random 到该模块内部的函数 random(). 这个函数没有一个叫做 choice 因此出现了错误。

我强烈怀疑你在问题中遗漏的代码中,你有以下内容 from random import random 这是你错误的原因。

以上是关于random.choice()由于某些原因无法工作。的主要内容,如果未能解决你的问题,请参考以下文章

由于某些原因,聚合函数在连接中无法正常工作

为啥我的 numpy.random.choice 实现更快?

numpy.random.choice和random.choice的输入参数有区别吗?

Python-随机获取列表中的某些元素

如何在Flask中选择按钮后正确触发random.choice()?

random.choice 的加权版本