Python: 1039 到底买不买

简介: Python: 1039 到底买不买

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)))
目录
相关文章
|
设计模式 自然语言处理 JavaScript
【21天python打卡】第1天 python预备知识(1)
大家好,今天是21天python打卡的第一天,我们要想学好python,我们先了解一些关于python的基础知识。
|
机器学习/深度学习 Python
(Python)矩阵旋转
(Python)矩阵旋转
|
Python
Python:使用2to3将Python2转Python3
Python:使用2to3将Python2转Python3
250 0
|
Python
Python 小技之繁花盛开
Python 小技之繁花盛开
186 0
Python 小技之繁花盛开
|
数据安全/隐私保护 Python
|
Python 数据库 SQL
python tornodo的简单应用1
简单构建python的web框架1
1310 0