因此,我一直在尝试为游戏创建标题屏幕。在此标题屏幕中,您可以选择开始游戏,也可以选择阅读游戏规则。规则和标题都是不同.py文件中的定义。
我尝试将定义导入标题屏幕和说明中。但是,一旦我将标题导入指令文件,它就会告诉我无法导入它。
#tittlescreen.py file
import sys,time,random
import fileinput, time
from time import sleep
from rules import instructions
from begin import start
import os
answer = None
while answer not in ("1" , "2"):
answer = input(" Type '1' or '2': ")
if answer == "1":
os.system('clear')
start()
elif answer == "2":
os.system('clear')
instructions() #It's here that it begins to have a problem
#rules.py File
import sys,time,random
import fileinput, time
from time import sleep
from titlescreen import titlescreen
from begin import start
import os
proceed = "1"
while proceed not in ("0"):
pross = input("Press '0' to begin playing.")
if pross == "0":
os.system('clear')
titlescreen() #And here
显示的错误是此错误:
Traceback (most recent call last):
File "main.py", line 4, in <module>
from titlescreen import titlescreen
File "/home/runner/titlescreen.py", line 4, in <module>
from instructions import instruções
File "/home/runner/instructions.py", line 4, in <module>
from titlescreen import titlescreen
ImportError: cannot import name 'titlescreen'
我不知道为什么它不能让我将“标题屏幕”定义导入“指令”定义。
我真的希望我可以制作一个正常的标题屏幕以及可以互相访问的说明,就像在普通游戏中一样。
答案 0 :(得分:1)
我假设您要在调用“ rules.py”文件中的titlescreen()时运行“ titlescreen.py”文件。对?不幸的是,这并不是“从标题屏幕导入标题屏幕”的工作方式。
采取类似的例子。以下代码的工作方式...
from X import Y
Python是否在名为X.py的文件中查找名为Y的函数定义。由于titlescreen.py中没有函数,因此找不到任何东西!
如果要在文件titlescreen.py中导入名为“ titlescreen”的函数,它应该看起来像这样...
def titlescreen():
answer = None
while answer not in ("1" , "2"):
answer = input(" Type '1' or '2': ")
if answer == "1":
os.system('clear')
start()
elif answer == "2":
os.system('clear')
instructions()
希望能达到目的。
答案 1 :(得分:-1)
titlescreen
已经是Python中另一个模块的名称。尝试重命名titlescreen
模块,它应该可以工作。