简体   繁体   中英

Python True/False in string

How to make a function what will be wirtting true when username is also in pass.. No depends if some is bigg letter or lower letter

当用户名也通过时,如何创建一个函数将是真实的..不取决于某些是大字母还是小写字母

username = "peter123"
password = "peTeR"

def check(username, password):
    username = username.lower()
    password = password.lower()
    return password in username

print(check(username, password))

There are couple of ways to solve this problem, this are listed below:

  1. In Operator We can you "in" operator here. "in" operator with strings returns true, if substring is in main string else false. For example: a. "abc" in "xabcd" => True

b. "abc" in "xabdcd" => False

def userpass(username, password):
    return password.lower() in username.lower() 

userpass("pEter32", "PETER")
  1. Find Method: Find method returns a index, if substring is present in string else it returns -1

     def userpass(username, password): index = username.lower().find(password.lower()) if index>=0: return True else: return False userpass("pEter32", "PETER")
  2. Index Method This is same as find method, but raises an exception if str not found.

     def userpass(username, password): try: index = username.lower().index(password.lower()) return True except: return False userpass("pEter32", "PETER")
lambda name, password: password.lower() in name.lower()

In python3's repl:

>>> pairs = (('peter123', 'PeTeR'),
...          ('123Peter', 'PETER'),
...          ('123pEtEr123', 'non-peter'))

>>> [(lambda nam, pwd: pwd.lower() in nam.lower())(n, p) for n, p in pairs]
[True, True, False]

(Or simply

>>> [password.lower() in name.lower() for name, password in pairs]
[True, True, False]

)

Try using this:

import re
def nameInPassword(userName, password):
    flag = re.search(userName, password, re.IGNORECASE)
    if flag == None:
        return False
    else:
        return True

print(nameInPassword('Peter', '123') 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM