1.简单思路:
我的思路很明确:
(接收数据,方便我讲)
1. detailer = list(input()) # 转化成List方便后续删除改动 2. want = list(input()) 3. no = 0
(1).用循环将 want 列表各元素与 detailer 列表各元素一一比对。
如果不存在那么no(是变量,初始化为0)加一;(因为要计算少了几颗珠子)
如果存在那么将detailer 中的该元素删除一个(用列表中的remove删除,一次只删一个,不会将所有相同元素都删除);(因为要计算多余了几颗珠子,只需要计算detailer列表的长度即可)
(2).判断输出:
如果no不等于0,那么说明detailer列表缺少了想要的珠子,只需输出 No 缺少珠子的数量
如果no等于0, 那么说明detailer里面有想要的所有珠子,只需输出 Yes remove后datailer的长度
2.好,现在开始编写代码:
(1)接收数据及初始化变量:
1. detailer = list(input()) # 转化成List方便后续删除改动 2. want = list(input()) 3. no = 0
(2)循环判断:
for i in want: if i not in detailer: # not in 身份运算符 可以检查某一值是否在列表中 no += 1 else: # 说明i在detailer列表中 detailer.remove(i) # 将detailer列表中的i删除
(3)判断输出
1. if no != 0: # 说明want列表中元素不全在detailer列表中 2. print('No {}'.format(no)) 3. else: 4. print('Yes {}'.format(len(detailer)))
3. 完整代码如下:
detailer = list(input()) want = list(input()) no = 0 for i in want: if i not in detailer: no += 1 else: detailer.remove(i) if no != 0: print('No {}'.format(no)) else: print('Yes {}'.format(len(detailer)))