题目描述:

本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。

输入格式:

输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。

输出格式:

在一行中打印出A−B的结果字符串。

输入样例:

I love GPLT!  It's a fun game!
aeiou

输出样例:

I lv GPLT!  It's  fn gm!

解题思路: 

哈哈哈 我现在看到这种题,第一反应就是用Python,没有为什么,因为Python??。解释一下这些代码,首先是把用户的第一行输入以空格为分隔符存入到列表A里面,用户的第二行输入赋值给字符串B,先把列表A转换为字符串s,然后用for-in循环遍历字符串s的所有字符,只要字符串B也有这个字符,就把它删掉。遍历完成后,直接输出字符串s就行了。

更新:这题最开始是在HBUOJ上看到的,当时是用Python写的,后来才晓得这道题在天梯赛和PAT甲级都有【GPLT】L1-011 A-B【PAT甲级】String Subtraction

AC代码:

A = input().split()  #用list来读取A
B = str(input())
s = ""  #s用来存放删除B中字符后的字符串
Count = 0
for word in A:
    s += word
    Count += 1
    if Count < len(A):
        s += " "
for i in s:
   if i in B:
       s = s.replace(i,"",1)
print(s)