我是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
答案 0 :(得分:2)
s.find(t)
将告诉您t
中s
的位置,而不是t
中出现s
的频率。< / p>
您想要http://docs.python.org/library/stdtypes.html#str.count
if data.lower().count('invalid password') > 1:
# do something
答案 1 :(得分: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
的“做某事”块分隔到新的一行。