weixin_51542019 2022-03-20 12:03 采纳率: 75%
浏览 21
已结题

Python 一个碗中装有n个糖果,第 i 个糖果棒有 k[i] 个成分。

一个碗中装有n个糖果,第 i 个糖果棒有 k[i] 个成分。
迈克尔对 m 种成分 c[0], c[1], ..., c[m-1] 过敏。如果一块糖果中含有这些 m 成分中的任何一种,迈克尔就不能吃它。
给定对糖果棒和迈克尔过敏成分的描述,输出他将服用的糖果棒的数量。

我的思路:

输入由 n+2 行组成。
输入的第一行包含一个整数 n。
接下来的 n 行包含糖果棒的成分。每一行都将单个糖果棒描述为组成糖果棒的以空格分隔的成分列表。
最后,最后一行包含迈克尔过敏的成分的空格分隔列表(即来自长度为 m 的列表 c 的信息)。
要求输出 print一个整数,迈克尔吃的糖果条数。
Hint:
1 <= n, m, k[i] <= 100
每个成分都是一个非空的小写英文字母串,长度最多为 7。
没有糖果棒的相同成分列出两次。
没有成分在迈克尔过敏的成分列表中出现两次。
Time Limit:
程序必须在任何有效输入的 4 秒内完成运行。

TEST
Sample Input 1

3
sugar cocoa salt
salt celery poison bleach
almonds
celery carrots
Sample Output 1
2
示例 1 说明
有三个糖果棒。它们分别有 3、4 和 1 种成分。
迈克尔对芹菜和胡萝卜过敏。这意味着他不会接受
第二个糖果棒,因为它含有芹菜。
其他 2 块糖果对他来说很好,所以他会拿走。
Sample Input 2
5
a b c
b d f
g d e f
c
a b c
b c
Sample Output 2
1

我的代码
n=int(input())
candies=[]
for i in range(0,n):
l1=list(map(str,input().split(" ")))
请问怎么继续

  • 写回答

2条回答 默认 最新

  • 关注
    
    n=int(input())
    l=[]
    x=0
    for i in range(0,n):
        l1=list(map(str,input().split(" ")))
    
        l.append(l1)
    allergic=list(map(str,input().split(" ")))
    for i in l:
        flag=0
        for j in i:
            for k in allergic:
                if j==k:
                    flag=1
                    break
        if flag==0:
            x+=1
    print(x)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月20日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度