1、新建一个空集合sa;
2、在程序运行时,通过键盘输入向集合sa中添加10个你熟知的古人的姓名;
3、将集合sa中所有姓刘的姓名放到另一个集合sb中(用循环遍历集合sa) ;
4、再将集合sa中其他的姓名放到集合sc中(通过集合运算生成) ;
5、删除集合sc中两个字符的姓名;
6、再建立一个集合sd,包括三国时期的10名人物姓名;
7、统计sa和sd两个集合中共有姓名的数量。
156这三条我都会进行操作,有几个问题就是,(1)添加10个姓名是用sa.add(),还需要别的操作吗?(2)循环遍历和集合运算如何操作。
给个例子
输入:
刘备
刘禅
孙权
司马懿
诸葛亮
张飞
关羽
赵云
李典
黄盖
sa = set()
for i in range(10):
name = input()
sa.add(name)
sb = set()
sc = set()
for i in sa:
if i.startswith('刘'):
sb.add(i)
sc = sa-sb #集合运算
sc.remove('张飞')
sc.remove('孙权')
sd = set(['刘备','刘禅','曹操','孙权','周瑜','诸葛亮','黄盖','司马懿','马谡','刘晔'])
se = sa.intersection(sd) #交集
1) 可以
2)for x in sa , sa & sb
1)一个一个添加可以配合使用input()和sa.add(),如果一次性添加,就set(input().split())
2) 循环遍历和列表一样,用for i in set就可以。集合运算和数学差不多,比如问题4,可以直接sa - sb | sc得到两个集合的并集。减号是求两个集合的差集,| 是并集,另外求交集是&,
第五题怎么弄的