0

単語の母音を数えるときに、文字列と整数の2種類の値を返す関数が必要です。呼び出すと、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'

4

3 に答える 3

2

両方が必要な場合は、タプルを返してみてください

return x,y

return常に現在の関数を離れるので、それ以降のコードは実行されません。

于 2012-10-27T15:18:54.443 に答える
2

複数の値を返すには、タプルを使用する必要があります。

return (y, x)

括弧は通常オプションです。

この関数を呼び出すときに、2つの値を再度解凍できます。

vowels, count = cnt_vow('hello')

Pythonが関数の実行が終了するreturnステートメントを確認すると、2番目のステートメントに到達することはありません。

于 2012-10-27T15:19:10.500 に答える
1

コードが最初のreturnステートメントに到達すると、指定された値がすぐに返されます。

あなたが探しているのは:

 return y, x
于 2012-10-27T15:19:14.490 に答える