# 练习1:
#     经理有:曹操,刘备,孙权
#     技术员有:曹操,孙权,张飞,关羽
#     用集合求:
#     1.即是经理也是技术员的有谁?
#     2.是经理,但不是技术人员的都有谁?
#     3.是技术员,但不是经理的有谁?
#     4.张飞是经理吗?
#     5.身兼一值的人都有谁>
#     5.经理的技术员共有几人?

#创建经理 和 技术员 的集合
jl = {'曹操','刘备','孙权'}
jsy = {'曹操','孙权','张飞','关羽'}
print("经理:",jl)
print("技术员:",jsy)

#即是经理也是技术员的有  两项工作交集的
jc = jl & jsy
print("即是经理也是技术员的有:",end=' ')
for ch in jc:
    print(ch,end=' ')
print()

#     2.是经理,但不是技术人员的都有谁? 补集经理|(去掉)在技术员里的
zjl = jl - jsy
print('是经理,但不是技术人员的:',zjl)

#     3.是技术员,但不是经理的有谁?  补集技术员-(去掉)在经理里面的
zjsy = jsy - jl
print("是技术员,但不是经理的:",zjsy)
#     4.张飞是经理吗?
if '张飞' in jl:
    print("张飞是经理")
else:
    print("张飞不是经理")
    
#     5.身兼一值的人都有谁>  对称补集生成两个集合的对称补集
#经理集合扣掉技术员存在的, 技术员集合扣掉经理存在的
sjyz = jl ^ jsy
print("身兼一值的人有:",sjyz)

#     5.经理和技术员共有几人?    计算出总人数,用并集先合并,在输出长度

zrs = jl | jsy
print("经理和技术员共有%d人"%len(zrs))

    
c68232f81dae4fdc45987247c69cce5ee64c6219
<mask token>

<mask token>
print('经理:', jl)
print('技术员:', jsy)
<mask token>
print('即是经理也是技术员的有:', end=' ')
for ch in jc:
    print(ch, end=' ')
print()
<mask token>
print('是经理,但不是技术人员的:', zjl)
<mask token>
print('是技术员,但不是经理的:', zjsy)
if '张飞' in jl:
    print('张飞是经理')
else:
    print('张飞不是经理')
<mask token>
print('身兼一值的人有:', sjyz)
<mask token>
print('经理和技术员共有%d人' % len(zrs))

jl = {'曹操', '刘备', '孙权'}
jsy = {'曹操', '孙权', '张飞', '关羽'}
print('经理:', jl)
print('技术员:', jsy)
jc = jl & jsy
print('即是经理也是技术员的有:', end=' ')
for ch in jc:
    print(ch, end=' ')
print()
zjl = jl - jsy
print('是经理,但不是技术人员的:', zjl)
zjsy = jsy - jl
print('是技术员,但不是经理的:', zjsy)
if '张飞' in jl:
    print('张飞是经理')
else:
    print('张飞不是经理')
sjyz = jl ^ jsy
print('身兼一值的人有:', sjyz)
zrs = jl | jsy
print('经理和技术员共有%d人' % len(zrs))

# 练习1:
#     经理有:曹操,刘备,孙权
#     技术员有:曹操,孙权,张飞,关羽
#     用集合求:
#     1.即是经理也是技术员的有谁?
#     2.是经理,但不是技术人员的都有谁?
#     3.是技术员,但不是经理的有谁?
#     4.张飞是经理吗?
#     5.身兼一值的人都有谁>
#     5.经理的技术员共有几人?

#创建经理 和 技术员 的集合
jl = {'曹操','刘备','孙权'}
jsy = {'曹操','孙权','张飞','关羽'}
print("经理:",jl)
print("技术员:",jsy)

#即是经理也是技术员的有  两项工作交集的
jc = jl & jsy
print("即是经理也是技术员的有:",end=' ')
for ch in jc:
    print(ch,end=' ')
print()

#     2.是经理,但不是技术人员的都有谁? 补集经理|(去掉)在技术员里的
zjl = jl - jsy
print('是经理,但不是技术人员的:',zjl)

#     3.是技术员,但不是经理的有谁?  补集技术员-(去掉)在经理里面的
zjsy = jsy - jl
print("是技术员,但不是经理的:",zjsy)
#     4.张飞是经理吗?
if '张飞' in jl:
    print("张飞是经理")
else:
    print("张飞不是经理")
    
#     5.身兼一值的人都有谁>  对称补集生成两个集合的对称补集
#经理集合扣掉技术员存在的, 技术员集合扣掉经理存在的
sjyz = jl ^ jsy
print("身兼一值的人有:",sjyz)

#     5.经理和技术员共有几人?    计算出总人数,用并集先合并,在输出长度

zrs = jl | jsy
print("经理和技术员共有%d人"%len(zrs))

    