2017-10-10 7 views
0

文字列内の文字を見つけようとしていて、それが見つかったかどうかに基づいてアクションを実行しようとしています。これまで私はこれを持っています:Python 2.7の大文字オプションの用語

name = easygui.enterbox("What is your name?"); 
term1 = 'i' 
term2 = 'a' 
position1 = name.find(term1) 
position2 = name.find(term2) 
if(position1 != -1 and position2 != -1 and position1 < position2): 
    easygui.msgbox("Congratulations! You recieve a $3000 bonus.") 
    bonus = True 

...うまくいきます。私の質問は、大文字「I」と「A」を見つけて、「i」と「a」と同じ行動をして(ボーナス?

EDIT:「ia」、「Ia」、「IA」、または「iA」を含む名前の組み合わせのように、両方を同時に検索しようとしています;文字は必ずしも次のものである必要はありませんお互いに、その特定の順序でちょうど)。

答えて

1

nameのコンテンツを小文字に変換することができます。name = name.lower()には、常に小文字のみが含まれることが保証されています。

文字列は、文字が含まれているかどうかをチェックすることができます:

if term1 in name and term2 in name and name.find(term1) < name.find(term2): 
    ... 
+0

'name [term1] ritiek

+0

あなたは正しいです。それを指摘してくれてありがとう、私はそれを修正した – Vinny

0

あなたが見つけることができません(TERM1または上(TERM1))その論理「または」見つからないと(「TERM1または大文字TERM1」 )。文字が存在しているか、いない場合は、ちょうど見つける必要がある場合は

、あなたは次のように行うことができます。

見つけ= name.find(term1.upper())= - 1またはname.find(TERM1を! )!= - 1

いずれかのケースが存在する場合、Trueを返します。

関連する問題