ps:非空即真,非0即真(空,0都返回False)
# 不是空不是0都是真
# 真就继续执行剩余代码
# 假就跳过代码执行下一个条件
# 直接if变量就是判断真假
1 pwd=input('pwd:').strip() 2 if pwd: #三种判断为空的方法(直接判断就可以) 3 # if pwd!='': 4 # if len(pwd)!=0: 5 print('输入不为空') 6 else: 7 print('密码不能为空')
集合(set)是一个无序不重复元素的序列。(没有下标)
集合天生可以去重,可以使用大括号 { } 或者 set() 函数创建集合,
注意:创建一个空集合必须用 set(),
因为 { } 是用来创建一个空字典
集合是无序的
(1)小练习
1 import string 2 pwd=input('pwd:').strip() 3 p_set=set(pwd) 4 print('小写字母取',p_set.intersection(string.ascii_lowercase)) 5 print('大写字母取',p_set.intersection(string.ascii_uppercase)) 6 print('特殊字符取',p_set.intersection(string.punctuation)) 7 print('数字取',p_set.intersection(string.digits)) 8 if p_set.intersection(string.ascii_uppercase) 9 and p_set.intersection(string.ascii_lowercase) 10 and p_set.intersection(string.punctuation) 11 and p_set.intersection(string.digits):#全部取交集 12 print('密码合法') 13 else: 14 print('密码必须包含大写、小写、数字、特殊字符')
交集、并集、差集
1 s2=set('789456789456789456') 2 s3={'1','2','3','4','566','4','48'} #集合 3 d={'d':'bn'} #字典 4 print(s2) 5 6 # 交集,并集,差集 7 8 # 交集:两个集合相同的地方(.intersection()) 9 print(s2 & s3) #交集(常用) 10 11 # 并集:两个集合合并到一起,然后去重(.union()) 12 print(s2 | s3) #并集 13 14 # 差集:取一个集合存在,另一个集合不存在的元素(.difference()) 15 print(s2 - s3) #差集 16 # 对称差集:取两个集合里面相同的(.symmetric_difference()) 17 print(s2 ^ s3) 18 19 20 s2.add('111111111')#加一个元素 21 s2.pop()#随机删除一个元素 22 s2.remove('111111111')#删除指定元素 23 s2.update({'1','2'})#把另外一个集合加进去