2017-10-10 45 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」相同的操作以導致獎金?編輯:我試圖同時搜索(如名稱中包含「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

你不能確實發現(字詞1或上(字詞1))作爲其邏輯「或」未找到(「字詞1或大寫的字詞1」 )。

如果你只需要找到,如果字符存在或不存在,你可以這樣做:

發現= name.find(term1.upper())= - 1或name.find(字詞1! )!= - 1

如果出現任何一種情況,它將返回True。

相關問題