2017-10-10 80 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。

相关问题