蓝桥杯等考Python(订单)

订单
某网上购物商店库存的所有商品用一个字符串表示,每种字符代表一种商品(字符都是大写字母,假设商品种类不超过26)。
另外用一个字符串表示接到的一批订单。请你编写程序,判断商店库存商品能否满足订单,如能输出“yes”,不能输出“no”。
例如:
商店的库存商品是ABAABC,订单是BACBB,不能满足订单要求,因为B商品库存2件,而订单需求是3件。
输入:
第一行一个由大写字母组成的字符串s,长度不超过100,代表商店的库存商品;
第二行一个由大写字母组成的字符串t,长度不超过100,代表订单。
输出:
一个字符串,代表商店库存商品能否满足订单,如能输出“yes”,不能输出“no"。
输入样例1:
ABAABC
BACBB
输出样例1:
no

输入样例2:
ABAABC
BBAA
输出样例2:
yes

参考答案:

#参考程序1:
s = input()
t = input()
b = True
dic = {}
for i in s: #遍历s,记录每个字母出现次数
    dic[i] = s.count(i)
for i in t: #遍历t,将每个字母出现次数对应减少
    if i in dic.keys():
        dic[i] -= 1
    else:
        b = False
for i in dic.values(): #检查字典是否每项都大于等于0
    if i < 0:
        b = False
if b == True:
    print('yes')
else:
    print('no')
#参考程序2:
s = input()
t = input()
a = [0] * 26
for i in s:
    a[ord(i) - ord('A')] += 1
for i in t:
    a[ord(i) - ord('A')] -= 1
b = True
for i in range(26):
    if a[i] < 0:
        b = False
        break
if b == True:
    print("yes")
else:
    print("no")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值