2012-01-19 33 views
-1

我是新来的Python ..查找逻辑在Python

在我的测试功能我传递其认为"invalid password"一些文本数据。 在这种情况下,我将Data_Check作为"invalid password"返回,但现在客户端询问"invalid password"是否在data变量中多次出现,然后仅返回"INVALID PASSWORD",否则它应该返回"VALID"本身。

请告诉我,以下功能的变化可以做什么。

def test(data): 
    Data_Check = 'VALID' 
    if (data.lower()).find('invalid password') >= 1: 
     Data_Check = 'INVALID PASSWORD' 
    return Data_Check 
+3

它帮助,如果你可以用的应该发生的事情为例更新你的问题。它看起来像这将起作用。但是你的解释并不十分清楚。一个例子会更清楚。 –

回答

1

改进您的解决方案:

if data.lower().count('invalid password') > 1: 
    return 'INVALID PASSWORD' 
return 'VALID' 

一行代码的解决方案:

return 'VALID' if data.lower().count('invalid password') <= 1 else 'INVALID PASSWORD' 

而且在一个侧面说明,你应该分开你的if“ s“做某事”阻止一条新线。

+0

哎呀,我的错。我现在要修复它。 – Edwin