Python 基本的石头、布、剪刀对我的计算器不起作用
我刚开始学习python 3,它是我的第一门语言。这是我第一次尝试做任何事情,我提出了if语句和random.randint,但没有研究如何制作石头布和剪刀,所以整个系统是非常有缺陷的。也就是说,它在我的手机上运行得很好,怎么不适合我的计算器。它说明了randint没有属性,我检查了论坛,他们说我必须有一个已经命名为random的文件,但我在设备上的任何地方都没有。我该怎么办? 出于某种原因,我使用的应用程序不允许我复制代码,但我所能做的就是创建一个链接,代码是: 错误消息是:AttributeError:“module”对象没有属性“randint”Python 基本的石头、布、剪刀对我的计算器不起作用,python,python-3.x,random,attributes,calculator,Python,Python 3.x,Random,Attributes,Calculator,我刚开始学习python 3,它是我的第一门语言。这是我第一次尝试做任何事情,我提出了if语句和random.randint,但没有研究如何制作石头布和剪刀,所以整个系统是非常有缺陷的。也就是说,它在我的手机上运行得很好,怎么不适合我的计算器。它说明了randint没有属性,我检查了论坛,他们说我必须有一个已经命名为random的文件,但我在设备上的任何地方都没有。我该怎么办? 出于某种原因,我使用的应用程序不允许我复制代码,但我所能做的就是创建一个链接,代码是: 错误消息是:Attribute
编辑-很抱歉礼仪不当,我不知道如何提问。这是我的第一个问题。另外,为了澄清,没有文件被命名为random,而这个特定的文件名为“RPS”,代表“石头剪刀”代码在Colab上对我有效。我假设您使用不同的代码,您实际上使用输入来捕获p。 我建议你试试
p = int(input('Let me know your number')))
我假设您运行并获取属性error时的文件名为random.py。如果是这样的话,问题是您与Python的随机模块有名称冲突。如果我将代码复制到一个名为random.py的文件中,就会得到属性错误。如果我将该文件称为其他文件,如rock\u paper\u scissors.py,那么它运行正常!问题是Python试图从您自己的random.py文件中解析randint,该文件没有定义randint!因此,必须避免将文件命名为与要导入的模块相同的名称 在调用randint之前,您还可以在文件顶部放置类似的内容来测试这一点:
def randint(x, y):
return 1
然后使用定义的属性调用randint时,不会得到属性错误 包括代码和错误信息将非常有用。您是否忘记发布代码和错误?我们至少需要一个。只是好奇:当你得到属性错误时,你正在运行的文件名是什么?它是random.py吗?如果它是我认为的那样,那非常有帮助,谢谢,但是这能解决randint的属性问题吗?我对此不太了解,所以如果我错了,请纠正我,但是更改p的输入将如何影响为c生成的随机数?我无法重现您的错误,因此我不知道AttributeError来自何处。下次你发布类似的内容时,请尝试包含确切的错误消息+确切的代码。