Python 需要帮助调用方法吗
嘿,我对Python和编程都是新手。我正在为学校做一个项目,我必须让一个NPC说出我给他说的一行随机代码。我的教授给了我们一些代码行,我们必须自己填写几行。但是,我很难让程序在windows powershell上显示任何文本。我在这个网站上看过很多教程,根据它们,我做的每件事都是正确的。谁能告诉我我做错了什么,为什么做错了Python 需要帮助调用方法吗,python,class,methods,Python,Class,Methods,嘿,我对Python和编程都是新手。我正在为学校做一个项目,我必须让一个NPC说出我给他说的一行随机代码。我的教授给了我们一些代码行,我们必须自己填写几行。但是,我很难让程序在windows powershell上显示任何文本。我在这个网站上看过很多教程,根据它们,我做的每件事都是正确的。谁能告诉我我做错了什么,为什么做错了 from random import randint class NPC (object): def __init__(self,name, phrases):
from random import randint
class NPC (object):
def __init__(self,name, phrases):
self.__name = name
self.__phrases = #Your code here
def getDescription(self):
return self.__description
def add_phrase(self, phrase):
#your one line of code here to add a phrase to the phrases an NPC can say
def getPhrases(self):
return self.__phrases
def speak(self):
#Your code here, no more than 2 lines to select a phrase at random and
#return it
def __str__(self):
return "Good day, I am " + self.__name
这是作为模板提供给我们的
到目前为止,我得到的是
from random import randint
class NPC (object):
def __init__(self,name, phrases):
self.__name = name
self.__phrases = ['Today is Tuesday', 'Today is Wednesday', 'Today is Thursday', 'Today is Friday']
def getDescription(self):
return self.__description
def add_phrase(self, phrase):
return "Howdy"
def getPhrases(self):
return self.__phrases
def speak(self):
for i in self.__phrases:
return randint
def __str__(self):
return "Good day, I am " + self.__name
c = NPC()
c.speak()
此外,我应该在speak函数下添加什么,以便它随机返回其中一个短语?试试这个,看看我所做的更改:
from random import randint
class NPC (object):
def __init__(self,name, phrases):
self.__name = name
self.__phrases = phrases
def getDescription(self):
return self.__description
def add_phrase(self, phrase):
return "Howdy"
def getPhrases(self):
return self.__phrases
def speak(self):
rand = randint(0,len(self.__phrases)) #Selecting a random phrase
print(self.__phrases[rand])
def __str__(self):
return "Good day, I am " + self.__name
name = "Stranger"
# Initializing phrase list and then passing it as an argument to the constructor.
phrases = ['Today is Tuesday', 'Today is Wednesday', 'Today is Thursday', 'Today is Friday']
c = NPC(name, phrases)
c.speak()
其中一项产出是:
今天是星期三
你的教授给你的变量名称开头带有_uu?我不确定是否应该使用StackOverflow来解决家庭作业。但当然,学习和理解这个问题是好的。你说什么也不显示。那么问题是什么会让事情出现?仅仅返回一个值通常不会显示任何内容(忽略Jupyter之类的内容)。print
语句可以。这个问题对于堆栈溢出来说太广泛了。基本上是要求我们完成你的任务。我正在寻找证据证明您理解这个赋值,并且您理解基本的Python语法,但我没有看到。所以我也不相信堆栈溢出的答案会被理解。在你的位置上,我要做的是学习基本的Python教程。他们在网上一文不值。那是你应该开始的地方。恐怕这里没有捷径。我喜欢你所做的,而且它是有效的,但是有没有办法让短语在构造函数下而不是在构造函数外部,并以同样的方式工作呢?想当然地,首先给出的代码,你可以在构造函数中做类似的事情:phrases=[‘今天是星期二’、‘今天是星期三’、‘今天是星期四’、‘今天是星期五’]
然后是self.\uu phrases=phrases
。但我看不出有任何理由这样做,因为你的课将失去灵活性。