我正在为我办公室的新手构建一个非常简单的基于文本的RPG。目前,我正在尝试使用用户输入来创建类的实例。使用自己的输入定义播放器。你知道吗
这是我当前的代码:
# DEFINE CLASSES #
class Character:
def __init__(self, name, dept):
self.name=name
self.dept=dept
class Player(Character):
def __init__(self, name, dept, level):
super().__init__(name, dept)
self.level = level
class Item:
def __init__(self, name, position, unlocked):
self.name=name
self.position = position
self.unlocked = unlocked
# USER INPUT #
User = Player(str(input("What is your name?")),str(input("What dept do you work for?")),1)
我们的目标是用用户输入的name和dept属性创建一个类Player的实例
但是,运行代码当前会出现NameError:name'(无论输入是什么)未定义
我确信这是一个非常基本的东西,因为我是python新手。欢迎任何帮助!你知道吗
我猜您正在使用python2运行脚本。我能够在python3中无错误地运行脚本。请用python3运行脚本。你知道吗
在python2中,可以使用} 函数与对} 相同。因此,这两个调用是相同的:
raw_input()
内置函数以字符串的形式获取用户输入。raw_input()
函数接受用户输入并将其转换为字符串(声明为here)。 调用python2内置的^{raw_input()
函数的输出调用^{在python3中,}等价于python2中的
raw_input()
内置函数不存在。要获取用户输入,可以使用input()
内置函数。^python3中的{raw_input()
。你知道吗来自Python documentation:如果不希望对输入的文本求值,请改用
raw_input()
。 你知道吗正如注释中所建议的,这只适用于Python2,但是您的错误表明这是您正在使用的Python版本。你知道吗
我建议您将以下shebang添加到您的文件:
#!/usr/bin/env python3
然后在允许执行脚本之后,用
./mypythongame.py
启动程序此外,您的
Character
类必须从object
继承才能用super(Character, self).__init__()
或(在Python3中):super().__init__()
相关问题 更多 >
编程相关推荐