我希望函数在计算单词中的元音时返回两种类型的值,字符串和整数。在调用时,我只得到y值,而不是x。你能解释一下为什么会这样吗?
def cnt_vow(s):
x = 0
y = ''
for char in s:
if char in 'aeuio':
y = y + char
x = x + 1
return y
return x
cnt_vow('hello')
预期:'eo', 2
是:'eo'
答案 0 :(得分:2)
如果你想要两者,请尝试返回一个元组
return x,y
return
总是保留当前函数,因此后面的代码永远不会被执行。
答案 1 :(得分:2)
您必须使用元组返回多个值:
return (y, x)
其中括号通常是可选的。
调用此函数时,您可以再次解压缩这两个值:
vowels, count = cnt_vow('hello')
一旦python看到一个return语句,函数执行结束,就永远不会达到第二个语句。
答案 2 :(得分:1)
一旦你的代码命中第一个return语句,它就会立即返回指定的值。
您正在寻找的是:
return y, x