我正在尝试创建一个宾果卡生成器,但是在测试它时遇到了问题。当我使用 random.choice() 模块生成随机数时,它返回以下错误:
Traceback (most recent call last):
File "c:\Users\thomp\randomsquarechooser.py", line 1, in <module>
import random
File "c:\Users\thomp\random.py", line 7, in <module>
cs = random.choice(squares)
^^^^^^^^^^^^^
AttributeError: partially initialized module 'random' has no attribute 'choice' (most likely due to a circular import)
这是我的代码:
import random
from time import sleep
squares = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13",
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"]
for i in range(24):
cs = random.choice(squares)
print(cs)
squares.remove(cs)
sleep(0.5)
此代码在 Python 3.12 IDLE 和 repl.it(基于浏览器的 IDLE)中都可以正常工作。这里有什么问题,有替代方案吗?我在大多数项目中都使用 Vscode,所以我宁愿找到解决方案也不愿使用不同的编辑器
我是一个Python新手,所以请不要介意我在这里犯傻。
该消息指出您有一个循环导入,这很奇怪,因为您也只有两个来自标准库的导入。
如果您的代码在不同的环境中运行良好,那么我的假设是您可能在不知情的情况下在包本身中导入了某些内容?如果您正在使用 venv,那么您可能想尝试创建一个新的 venv,然后在 VSCode 中运行它。
VSCode 不会像 Pycharm 等其他 IDE 那样自动为您的项目创建 venv,因此您可能需要自己创建一个并确保在处理项目时激活它。