02_checkio_House_Passworld
2018-03-24 11:43
253 查看
Stephan and Sophia forget about security and use simple passwords for everything. Help Nikola develop a password security check module. The password will be considered strong enough if its length is greater than or equal to 10 symbols, it has at least one digit, as well as containing one uppercase letter and one lowercase letter in it. The password contains only ASCII latin letters or digits.Input: A password as a string.Output: Is the password safe or not as a boolean or any data type that can be converted and processed as a boolean. In the results you will see the converted results.Example:checkio('A1213pokl') == False
checkio('bAse730onE') == True
checkio('asasasasasasasaas') == False
checkio('QWERTYqwerty') == False
checkio('123456123456') == False
checkio('QwErTy911poqqqq') == True
if len(data)>9:
if any(i.isupper() for i in data) and any(i.islower() for i in data) and any(i.isdigit() for i in data):
return True
else:
return False
else:
return False其它人的代码:checkio = lambda s: not(
len(s) < 10
or s.isdigit()
or s.isalpha()
or s.islower()
or s.isupper()
)
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio('A1213pokl') == False, "1st example"
assert checkio('bAse730onE4') == True, "2nd example"
assert checkio('asasasasasasasaas') == False, "3rd example"
assert checkio('QWERTYqwerty') == False, "4th example"
assert checkio('123456123456') == False, "5th example"
assert checkio('QwErTy911poqqqq') == True, "6th example"
any()与all()函数的区别: any是任意,而all是全部。 版本:该函数适用于2.5以上版本,兼容python3.x版本。 any(...) any(iterable) -> bool Return True if bool(x) is True for any x in the iterable. If the iterable is empty, return False. any(iterable)说明:参数iterable:可迭代对象;如果当iterable所有的值都是0、''或False时,那么结果为False,如果所有元素中有一个值非0、''或False,那么结果就为True函数等价于:
示例:
all(...) all(iterable) -> bool Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True. 如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False;函数等价于:
示例:
注意:空元组、空列表返回值为True,这里要特别注意。
checkio('bAse730onE') == True
checkio('asasasasasasasaas') == False
checkio('QWERTYqwerty') == False
checkio('123456123456') == False
checkio('QwErTy911poqqqq') == True
def checkio(data): #replace this for solution return True or False #Some hints #Just check all conditions if __name__ == '__main__': #These "asserts" using only for self-checking and not necessary for auto-testing assert checkio('A1213pokl') == False, "1st example" assert checkio('bAse730onE4') == True, "2nd example" assert checkio('asasasasasasasaas') == False, "3rd example" assert checkio('QWERTYqwerty') == False, "4th example" assert checkio('123456123456') == False, "5th example" assert checkio('QwErTy911poqqqq') == True, "6th example" print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")代码:def checkio(data):
if len(data)>9:
if any(i.isupper() for i in data) and any(i.islower() for i in data) and any(i.isdigit() for i in data):
return True
else:
return False
else:
return False其它人的代码:checkio = lambda s: not(
len(s) < 10
or s.isdigit()
or s.isalpha()
or s.islower()
or s.isupper()
)
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio('A1213pokl') == False, "1st example"
assert checkio('bAse730onE4') == True, "2nd example"
assert checkio('asasasasasasasaas') == False, "3rd example"
assert checkio('QWERTYqwerty') == False, "4th example"
assert checkio('123456123456') == False, "5th example"
assert checkio('QwErTy911poqqqq') == True, "6th example"
import re DIGIT_RE = re.compile('\d') UPPER_CASE_RE = re.compile('[A-Z]') LOWER_CASE_RE = re.compile('[a-z]') def checkio(data): """ Return True if password strong and False if not A password is strong if it contains at least 10 symbols, and one digit, one upper case and one lower case letter. """ if len(data) < 10: return False if not DIGIT_RE.search(data): return False if not UPPER_CASE_RE.search(data): return False if not LOWER_CASE_RE.search(data): return False return True if __name__ == '__main__': assert checkio('A1213pokl')==False, 'First' assert checkio('bAse730onE4')==True, 'Second' assert checkio('asasasasasasasaas')==False, 'Third' assert checkio('QWERTYqwerty')==False, 'Fourth' assert checkio('123456123456')==False, 'Fifth' assert checkio('QwErTy911poqqqq')==True, 'Sixth' print('All ok')
import re def checkio(data): return True if re.search("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$", data) and len(data) >= 10 else False if __name__ == '__main__': #These "asserts" using only for self-checking and not necessary for auto-testing assert checkio('A1213pokl') == False, "1st example" assert checkio('bAse730onE4') == True, "2nd example" assert checkio('asasasasasasasaas') == False, "3rd example" assert checkio('QWERTYqwerty') == False, "4th example" assert checkio('123456123456') == False, "5th example" assert checkio('QwErTy911poqqqq') == True, "6th example"
def checkio(data): import re if len(data)<10: return False if not re.search('[0-9]', data): return False if not re.search('[a-z]', data): return False if not re.search('[A-Z]', data): return False return True #These "asserts" using only for self-checking and not necessary for auto-testing if __name__ == '__main__': assert checkio('A1213pokl') == False, "1st example" assert checkio('bAse730onE4') == True, "2nd example" assert checkio('asasasasasasasaas') == False, "3rd example" assert checkio('QWERTYqwerty') == False, "4th example" assert checkio('123456123456') == False, "5th example" assert checkio('QwErTy911poqqqq') == True, "6th example"
def checkio(data): if len(data) < 10: return False if data.upper() == data: return False if data.lower() == data: return False return any(c.isdigit() for c in data) #Some hints #Just check all conditions #These "asserts" using only for self-checking and not necessary for auto-testing if __name__ == '__main__': assert checkio('A1213pokl') == False, "1st example" assert checkio('bAse730onE4') == True, "2nd example" assert checkio('asasasasasasasaas') == False, "3rd example" assert checkio('QWERTYqwerty') == False, "4th example" assert checkio('123456123456') == False, "5th example" assert checkio('QwErTy911poqqqq') == True, "6th example"any() 函数的用法,以及与all()函数的区别,原文地址:https://www.cnblogs.com/nulige/p/6128816.html
any()与all()函数的区别: any是任意,而all是全部。 版本:该函数适用于2.5以上版本,兼容python3.x版本。 any(...) any(iterable) -> bool Return True if bool(x) is True for any x in the iterable. If the iterable is empty, return False. any(iterable)说明:参数iterable:可迭代对象;如果当iterable所有的值都是0、''或False时,那么结果为False,如果所有元素中有一个值非0、''或False,那么结果就为True函数等价于:
1 def any(iterable): 2 3 for element in iterable: 4 5 if element: 6 7 return False 8 9 return True
示例:
1 >>> any(['a', 'b', 'c', 'd']) #列表list,元素都不为空或0 2 True 3 4 >>> any(['a', 'b', '', 'd']) #列表list,存在一个为空的元素 5 True 6 7 >>> any([0, '', False]) #列表list,元素全为0,'',false 8 False 9 10 >>> any(('a', 'b', 'c', 'd')) #元组tuple,元素都不为空或0 11 True 12 13 >>> any(('a', 'b', '', 'd')) #元组tuple,存在一个为空的元素 14 True 15 16 >>> any((0, '', False)) #元组tuple,元素全为0,'',false 17 False 18 19 >>> any([]) # 空列表 20 False 21 22 >>> any(()) # 空元组 23 False
all(...) all(iterable) -> bool Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True. 如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False;函数等价于:
1 def all(iterable): 2 3 for element in iterable: 4 if not element: 5 return False 6 return True
示例:
1 >>> all(['a', 'b', 'c', 'd']) #列表list,元素都不为空或0 2 True 3 >>> all(['a', 'b', '', 'd']) #列表list,存在一个为空的元素 4 False 5 >>> all([0, 1,2, 3]) #列表list,存在一个为0的元素 6 False 7 8 >>> all(('a', 'b', 'c', 'd')) #元组tuple,元素都不为空或0 9 True 10 >>> all(('a', 'b', '', 'd')) #元组tuple,存在一个为空的元素 11 False 12 >>> all((0, 1,2, 3)) #元组tuple,存在一个为0的元素 13 False 14 15 >>> all([]) # 空列表 16 True 17 >>> all(()) # 空元组 18 True
注意:空元组、空列表返回值为True,这里要特别注意。
相关文章推荐
- CheckIO House Password
- Python checkio "Building Base"解决方案
- Python Checkio
- IO-02
- apache commons io checkstyle报告
- checkio the most frequent weekdays
- JAVA高级视频02_IO输入与输出 05 FileInputStream和FileOutPutStream
- checkio的一些题:Speech Module,Feed Pigeons,Roman numerals,Golden Pyramid,The Most Numbers,Digits Multipl
- Python checkio "Long Non Repeat"解决方案
- 黑马程序员-java自学笔记02之IO字节流写入和读取
- Check iO:初学Python
- 唠唠SE的IO-02——字节输入输出流
- 严重: Error in dependencyCheck java.io.IOException: invalid header field(tomcat启动成功但是访问web项目404错误)
- 黑马程序员_IO_02
- checkio min and max
- IO-02. 整数四则运算(10)
- mnist.load_data()遇到IOError: CRC check failed 0xc187cf56L != 0x14c5212fL
- JAVA高级视频02_IO输入与输出 06 PipedInputStream和PipedOutPutStream 学习笔记
- checkio Xs and Os Referee
- Can not find a java.io.InputStream with the name [inputStream] in the invocation stack. Check the <