我目前正在学习Python课程,并进入了本书中有关函数的章节。(请注意,这是我第一次学习编程。)
我目前正在做的一个练习要求我把一堆条件语句转换成一个函数(即泛化)。你知道吗
简而言之,我的问题是:
在我定义了一个函数之后,让我们这样说。。。你知道吗
def count_letter(letter,string):
count = 0
for letter in string:
count += 1
print(count)
(据我所知,这就是我为这道题打出来的工作。)
我运行程序,然后像往常一样调用shell中的函数。。。你知道吗
(示例如下)
>>> count_letter(a,bananana)
我得到以下输出。。。你知道吗
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
count_letter(a,bananana)
NameError: name 'a' is not defined
我的老师和我们班的每个人都不明白为什么我们会犯这样的错误。如果是其他类型的错误,我们会理解,但是让shell告诉我们一个参数是“未定义的”(即一个变量,正如我们理解的错误),这是我们无法理解的。你知道吗
我们已经盯着代码看了一个星期了,还是搞不懂。你知道吗
任何帮助都将不胜感激。你知道吗
事后思考:我试图计算示例中“bananana”中“a”的数量。我想我应该澄清其中的模糊性。你知道吗
如前所述,
a
和bananana
是变量的名称,应该以与您定义变量count
类似的方式来定义。例如:是正确的语法,因为
character_to_search
和text
都未定义。你知道吗另一种可能性是,不是使用实际变量,而是将字符串直接传递给函数。在这种情况下,您的语法有点不正确。应该是(注意单引号):
相关问题 更多 >
编程相关推荐