基本的石头,纸,剪刀对我的计算器不起作用

问题描述

我刚开始使用python 3,这是我的第一种语言。这是我第一次尝试任何事情,而且我想出了if语句和random.randint,而没有查找如何制作石头和剪刀,因此整个系统非常有缺陷。话虽如此,它在我的手机上运行得很漂亮,但对我的计算器来说却不起作用。它说明了randint没有属性的问题,我检查了论坛,他们说我必须有一个已经命名为random的文件,但是我在设备上没有任何位置。我该怎么办? 由于某种原因,我使用的应用程序不允许我复制代码,但我能做的最好是链接代码为:https://codeplayground.app/?s=cPTCDE5g4U4DBoL7UfAFkc 错误消息是:AttributeError:'模块'对象没有属性'randint'

编辑-抱歉,礼节不当,我不知道该怎么问,这是我的第一个问题。另外,为澄清起见,没有文件随机命名,而这个特定文件名为“ RPS”,代表剪刀石头布

解决方法

该代码在Colab上对我有效。我假设您使用其他代码,实际上使用input()捕获“ p”。 我建议你试试

p = int(input('Let me know your number')))
,

我假设您在运行并获取属性错误时的文件名为random.py。如果是这种情况,那么问题在于您与Python的“随机”模块发生名称冲突。如果将代码复制到名为random.py的文件中,则会出现属性错误。如果我将文件命名为其他文件,例如“ rock_paper_scissors.py”,那么它将运行正常!问题在于Python试图从您自己的random.py文件中解析randint,而该文件未定义randint!因此,您必须避免将文件命名为与要导入的模块相同的名称。

您还可以通过在调用randint之前在文件顶部放置类似以下内容的方式进行测试:

def randint(x,y):
    return 1

然后使用此定义调用randint时,不会出现属性错误!