找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1901|回复: 3

[求助] 求大蛇!判断一字符串中,包含 另一组中两个不连续字符?

2

主题

5

帖子

5

积分

贫民

积分
5
asdzzz 发表于 2019-3-31 10:50:00 | 显示全部楼层 |阅读模式
两组字符串,A组"abcdefg",B组“bg",需要比较两组字符串,如果,A组完全含有B组,(不管B组的两个字符,在A组的什么位置,是否相连,都可以,只要完全含有B组的两个字符就行),打印A组。
A='abcdefg'
B='bg'
if B in A
    print A

这样写不对,因为B中的'bg',在A组中不连续,所以显示A不包含B?
求大蛇帮忙,谢谢!
我还是个小白,学习中,感谢您!
回复

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
wx_H0Ii8p97 发表于 2019-4-7 10:52:57 | 显示全部楼层
set()
回复

使用道具 举报

0

主题

3

帖子

3

积分

贫民

积分
3
青铜程序员 发表于 2019-4-9 19:34:24 | 显示全部楼层
不知道下面这段代码是否能满足你的要求

  1. A = 'abcdefg'
  2. B = 'bg'
  3. set_A = set(A)
  4. set_B = set(B)

  5. if set_B.issubset(set_A):
  6.     print('B is a subset of A')

  7. elif set_A.issubset(set_B):
  8.     print('A is a subset of B')
  9. else:
  10.     pass
复制代码
回复 支持 反对

使用道具 举报

0

主题

3

帖子

3

积分

贫民

积分
3
adapt 发表于 2019-4-14 20:06:47 | 显示全部楼层
不知道这样是否可以,把数字字符也加入进去了(应该是所有字符都支持的)


  1. #coding:utf-8

  2. def diff(A, B, a):
  3.     if B.issubset(A):
  4.         return a
  5.     else:
  6.         return 'B不是A的子集'

  7. if __name__ == "__main__":
  8.     a = input('输入A的数字或字母,以逗号隔开:')
  9.     b = input('输入B的数字或字母,以逗号隔开:')
  10.     A = set([i.strip() for i in a.split(',')])
  11.     # strip()方法去除单个字符左右的空格。避免出现{'1',' a ','  b'}与{'a'}不能正确交集
  12.     B = set([i.strip() for i in b.split(',')])
  13.     print(diff(A, B, a))
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表