2016-08-25 12 views
0

私はいつも、私はこのような何かを書くとき、それはとても厄介だと感じ:この長い「または」ステートメントを書くには良い方法はありますか?

if (subject == 'a') or (subject == 'e') or (subject == 'i') or (subject == 'o') or (subject == 'u'): 

はの負荷やさんやループを必要としないこと、これを書くためのより良い方法はありませんか?

+6

' 'AEIOU' 内の被写体があれば:' – muddyfish

+0

は完全に等しくない@muddyfish、それはまた、 '複数の文字にマッチしますが、リスト内の主語( 'aeiou'): 'ではありません。 –

答えて

6

あなたはstrは、文字とサブストリングとin演算子をサポートしているので、これは動作します。この

if subject in 'aeiou': 

のようにそれを書くことができます。

これにより、aeaeiouなどの部分文字列を使用できるようになります。

if subject in tuple('aeiou'): 

OR

if subject in ('a','e','i','o','u'): 

は、状況に応じて、より良いかもしれません

+0

興味がありません(私はPythonの専門家ではありません)、これは主題である、「ae」と言うのでしょうか? – Bathsheba

+0

@Bathshebaそれはない – muddyfish

+0

ありがとう、upvoted。 Python *ができないことはありますか? – Bathsheba

関連する問題