python实现求解两个字符串的第二公共单词

叮叮叮~
总觉得得不断学习才是啊~今天就来看一下这个奇怪的题目吧
(因为布吉岛为什么叫第二公共单词啊~所以觉得很奇怪
首先,题目如下:

在这里插入图片描述
解题思路:将验证的字符串转化为数组,进行比较,如果出现相同字符则存入数组,并且只保留第一个。

def get_second_word(str1, str2):  # 第二公共单词
    # # 判断字符串是否为空
    # if not str1.strip():
    #     return 'Null'
    # if not str2.strip():
    #     return 'Null'
    # # 将字符串变成数组来进行比较
    # arr1 = str1.split(' ')
    # arr2 = str2.split(' ')
    # # 判断单词是否够长度
    # if len(arr1) < 2:
    #     return 'Null'
    # if len(arr2) < 2:
    #     return 'Null'

    # 判断数组长度以及转变数组的简化
    str1 = ''
    L1 = str1.split()
    if len(L1) < 2:
        return 'NULL'
    str2 = ''
    L2 = str2.split()
    if len(L2) < 2:
        return "Null"
    # 如果两个句子一样则返回第二个的第二位
    if arr1 == arr2:
        return arr2[1]
    # 新建一个空数组
    arr = []
    # 循环他们 进行比较
    for i in arr1:
        for j in arr2:
            if i == j:
                # 放到数组中
                arr.append(i)
    # 判断数组中是否有值
    if len(arr) > 1:
        print("两个字符串的第二公共单词是:", arr[0])
        return arr[0]
    else:
        return 'Null'


if __name__ == '__main__':
    str1 = input("请输入第一组字符串,空格隔开:")
    str2 = input("请输入第二组字符串:")
    get_second_word(str1, str2)

酱紫就OK啦~
另外可以将return 'NULL'改为print 'NULL'~
至于时间和空间复杂度???emmmmm。。。。。

嗯,,,这里再写一个不用函数的吧???

s = input('请输入第一组字符串:')
s1 = input('请输入第二组字符串:')
s2 = set(s.split())
s3 = set(s1.split())
s4 = s2 & s3
print(s4)
if not s4:
    print('NULL')
else:
    for i in s.split():
        if i in s2 & s3:
            print(i)
            break

回顾下split()方法:

1. 描述:

切片的意思,即通过指定分隔符对字符串进行一定间隔的切片

2. 语法:

s.split(str = ' ', num = string.count(s)) # 这里注意下是返回有num+1个参数的列表

3. 参数

str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。


呦西~~~~到这里就完结啦~(撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。拜拜啦~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值