今晚建信金科的笔试编程,第二题题目描述就出错了

import collections
def fun1(str1,str2):
    d=[]
    for i in str1:
        if i not in str2:
            a=collections.Counter(str1)
            if a[i]==1:
                d.append(i)
    for j in str2:
        if j not in str1:
            b=collections.Counter(str2)
            if b[j]==1:
                d.append(j)
    return d
while True:
    try:
        str1=list(map(str,input().strip().split(' ')))
        str2=list(map(str,input().strip().split(' ')))
        print(fun1(str1,str2))
    except:
        break


代码如上,
题目要求是找出在B文本中没出现过,但是在A文本中出现过且只出现一次的单词,第一行就是A文本,第二行就是B文本

他给的输入例子是
“this is so sweet”
“this is so cute"

然后输出是:
["sweet","cute"]

就是因为他给的这个例子,完完全全的误导了我。我以为是要把两个文本中只出现一次,然后互异的单词输出。
然后我写的代码在本地是能够运行的。但是我传到牛客网考试界面就是不通过。。。。
等考试结束我才想起来,是不是样例写错了。只需要输出["sweet"] 就行了,而且题目就是写的叫我找出A文本中的单词,唉气死我了。。。
这些出题的人也太不严谨了吧
#笔试题目#
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务