pat 乙类 1039 python

一、将输入转化为列表,方便查找,修改

二、将摊主列表中查找到的珠子改为其他字符,避免重复计数。比如小红想要两颗同样的珠子,而摊主只有一颗,会将珠子记为两颗而导致错误

三、联合使用for...else和break语句,只有当for循环全部执行完才会执行else语句,如果执行break语句就会跳出for循环,不会再执行else语句。可将for...else看为一体,而break则跳出这个循环体

题目不要求输出缺少珠子的类型,而是简单的计数。可以不使用列表,直接使用变量来计数

n = list(map(str,input()))
m = list(map(str,input()))
lack = []
for i in range(len(m)):
    for k in range(len(n)):
        if m[i] == n[k]:
            n[k] = "#"
            break
    else:
        lack.append(m[i])
if lack == []:
    print("Yes",len(n)-len(m))
else:
    print("No",len(lack))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值