2017-04-25 9 views
0

私は単語の母音を出力し、母音の数を出力する関数を使用しなければならないという問題があります。私はちょうど地元の大学でコンピューティングコースを取ったし、このすべてのことに新しいと私の頭を少し上に行く。母音を単語で見つける機能はありますか?

私が試したが、これは私がそれを実行したときに、私が得たものである:

TypeError: vowel() takes 0 positional arguements but 1 was given 

マイコード:関数の定義で

def vowel(): 
    array = [] 
    counter = 0 
    for i in word: 
    if i in ("a","e","i","o","u"): 
     counter+=1 
     array.append(i) 
    return (array, counter) 

word = input("Enter your word") 
function = vowel(word) 
print(function) 
+1

コードをコードタグにラップしてください。 – elena

+0

あなたの関数定義は引数を受け付けませんが、 'vowel(word)'の中では引数を渡します。 – elena

+0

'def vowel():'を 'def vowel(word):'に変更するだけで、コードは正常に動作します。 – davedwards

答えて

0

、あなたはword

def vowel (word): 
    array = [] 
    counter = 0 
    for i in word: 
    if i in ("a","e","i","o","u"): 
     counter+=1 
     array.append(i) 
    return (array, counter) 


word = input("Enter your word") 
function = vowel(word) 
print(function) 

を提供するために、忘れてしまいましたポジション引数の詳細については、この記事を参照してください。Positional argument v.s. keyword argument

+0

簡単な間違い:私は今はばかな気分ですが、ありがとうそんなに – MasterBaggins2319

0

エラーは自己説明的です。 関数の母音を0引数でシードすると宣言しました。あなたがやるべきものを

function = vowel(word) 

は次のとおりです:

def vowel (word): 
    array = [] 
    counter = 0 
    for i in word: 
     if i in ("a","e","i","o","u"): 
     counter+=1 
     array.append(i) 
    return (array, counter) 
+0

おかげで今プログラムはうまく動作します – MasterBaggins2319

1

実際には、エラーが簡単です

def vowel(): 

は、あなたはそれが一つの引数でそれを播種と呼ばれます。

関数を定義すると、母音は引数を受け取りません。

それは次のようになります。私はあなたを助けることができる

def vowel (word): 

希望を:D

+0

本当にありがとうございました。 – MasterBaggins2319

0

あなたは機能して、単純なリストの内包表記を使用することができます:引数の数

def vowel(word): 
    array = [i for i in word if i in ("a","e","i","o","u")] 
    counter = len(array) 
    return array, counter 

word = input("Enter your word") 
function = vowel(word) 
print(function) 
+0

プログラムが本当にうまく動作してくれてありがとうございます – MasterBaggins2319

1

を関数定義と関数呼び出しで与えられたものは同じでなければなりません。関数定義ではdef vowel():と書いていますが、function = vowel(word)を呼び出している間は、その関数に引数を与えています。したがって、それはエラーを投げる。

def vowel(word): 
    array = [] 
    counter = 0 
    for i in word: 
    if i in ("a","e","i","o","u"): 
     counter+=1 
     array.append(i) 
    return (array, counter) 

word = input("Enter your word") 
function = vowel(word) 
print(function) 
+0

ありがとう – MasterBaggins2319

関連する問題