1. ホーム
  2. python

[解決済み] charが母音('a', 'e', 'i', 'o', または 'u')であれば真、そうでなければ偽を返す関数 isVowel(char) を定義する。

2022-02-11 01:26:05

質問

質問です。

char が母音 ('a', 'e', 'i', 'o', または 'u') であれば真、そうでなければ偽を返す関数 isVowel(char) を定義しなさい。char は大文字小文字を問わない1文字とすることができます (すなわち、'A' と 'a' は両方とも有効です)。

キーワード in は使用しないでください。関数は1つの文字列を受け取り、ブール値を返さなければなりません。

与えられたコード

def isVowel(char):
    '''
    char: a single letter of any case

    returns: True if char is a vowel and False otherwise.
    '''

私のコード

def isVowel(char):
    '''
    char: a single letter of any case

    returns: True if char is a vowel and False otherwise.
    '''
    if char == 'a' or 'e' or 'i' or 'o' or 'u' or 'A' or 'E' or 'I' or 'O' or 'U':
        return True
    else:
        return False

私の問題 出力が常にTrueになってしまいます。何が間違っているのでしょうか?

解決方法を教えてください。

ifステートメントを作成します。

if char == 'a' or 'e' or 'i' or 'o' or 'u' or 'A' or 'E' or 'I' or 'O' or 'U':
        return True

は等価である。

if (char == 'a') or 'e' or 'i' or 'o' or 'u' or 'A' or 'E' or 'I' or 'O' or 'U':

のどちらかに評価されます。 True または e であり、また True を返すので、この関数は常に True .

ifステートメントを変更します。

if char == 'a' or char == 'e' or char == 'i' so on...:
        return True


しかし、この問題は、もしあなたが in 演算子を使用します。これは次のようなものです。

def isVowel(char):
    return char.lower() in 'aeiou'