2012-10-04 87 views
2

在Python中我试图做到以下几点来定义一个函数:如何正确定义一个函数?

count_letters(word) = count_vowels(word) + count_consonants(word) 

但由于某些原因,这是错误的。我得到这个错误:

SyntaxError: can't assign to function call 

我该如何解决它?

谢谢

+2

例子吗?预期/实际产出? – njzk2

+0

你不能将结果('count_vowels(word)+ count_consonants(word'))设置为函数调用('count_letters(word)') – FallenAngel

+0

你的函数变量没有定义。 – monkut

回答

4

这不是你如何在python声明功能。你想要写的是:

def count_letters(word): 
    return count_vowels(word) + count_consonants(word) 

也就是说,如果你已经有了一个count_vowelscount_consonants功能。

4

函数调用count_letters(word)的结果是不可转让。那很简单。

我不相信它可以在Python的工作,虽然,你应该有这样的一个错误:

SyntaxError: can't assign to function call 
3

你需要用合适的函数定义来替代它:

def count_letters(word): 
    return count_vowels(word) + count_consonants(word) 

的您尝试使用的语法不是有效的Python。

+0

即使承认这不会是一个丑陋的语法...'square(x)= x * x': - ) – 6502

+0

@ 6502你应该看看Haskell - 'square'函数的定义是'square x = x * x' –

2

可能是你想要做的是一样的东西

def count_letters(word): 
    return count_vowels(word) + count_consonants(word) 
1

如果我收集正确,您正尝试创建一个函数。然而,你现在所拥有的是不是有效的语法 - 对于Python来说,它看起来像是试图给函数调用赋值(count_letters(word)),这在Python中是不允许的。 count_letters = count_vowels(word) + count_consonants(word)会工作,但不是你想要的。

你应该以声明函数做的是以下几点:

def count_letters(word): 
    return count_vowels(word) + count_consonants(word)