【发布时间】:2019-12-26 22:05:49
【问题描述】:
我目前仍在学习 python,但到目前为止做得很好,所以我决定承担一个更大的项目,在该项目中我构建一个基于短文本的游戏并使用自定义模块来分隔我的代码。不幸的是,我遇到了许多复杂情况,并通过一些谷歌和耐心的大力应用解决了这些问题,但这个问题让我很难过。
问题本身是我正在处理两个文件:main.py 和 roomsClass.py。在 main.py 中有输入请求和将输入调低的命令,但是我尝试将该输入传输到 gameRooms.py 中的函数,但它不起作用。
非常感谢任何帮助,如果我在这篇文章中做错了什么,请告诉我。我是 stackoverflow 的新手,可以接受任何我能得到的指针。
我尝试在单个模块中全局分配它,但我必须再次定义输入变量,这会导致我的代码弹出一个无用的输入点。
还尝试将 main 导入文件,但这会在 gameRooms 和 main 之间创建太多依赖关系。
main.py
userInput = input('\nWhat shall you do? :> ')
gameInput = userInput.lower()
gameRooms.py
class Rooms():
def __init__(self, pos, name, desc, exits, status, nLock, sLock, eLock, wLock):
self.pos = pos
self.name = name
self.desc = desc
self.exits = exits
self.status = status
self.nLock = nLock
self.sLock = sLock
self.eLock = eLock
self.wLock = wLock
def lookRoom(self):
global userInput
global gameInput
if gameInput in cfg.lookList and self.pos == cfg.xyMap:
print(f"\n{self.name}")
print(f"\n\t{self.desc}")
这只是模块的一小部分,但正是我想要修复的。主要是lookRoom(self)中的gameInput:。
我希望它实际上可以让我使用来自 main.py 的用户输入,但输出只是说 gameInput 没有定义。
【问题讨论】:
-
在哪里以及如何调用
lookRoom()方法? -
"我尝试将该输入传输到 gameRooms.py 中的函数" 请显示应该执行此操作的代码。
标签: python function class input python-module