- 爬虫练习2
求大佬解题1720
- 2023-1-8 17:05:51 @
*这一道题我不知道该怎么写,没有思路。请各位大佬告告我该怎么写?
3 条评论
-
...... (丁泓森) LV 9 @ 2023-6-18 19:03:05
def find2(s1, s2): # 分步提示: # 1. 通过遍历字符串 s1, 用 切片 的方法取出每一个与 s2 长度相等的字符串判断, 如果某次循环的元素与 s2 相等, 就找到了 s2 在 s1 中的下标 # 2. 如果循环结束后都没有找到, 就让 index 的值为 -1 # 注意,如果 s2 在 s1 中出现了多次, 只返回第一次出现的位置 for i in range(len(s1)): end = i + len(s2) if end > len(s1): return -1 else: c = s1[i:i + len(s2)] if c == s2: return i def find_between(s, left, right): # 分步提示: # 1, 观察用法可以知道本函数的功能就是把 left 和 right 之间包含的字符串提取出来 # 2, 为了实现这个目的, 我们的想法应该是拿到 目标字符串 的开始和结束下标, 然后用 切片 的方式提取 # 3, 我们先定位到 left 的下标(使用 find2 函数), 加上 left 的长度就可以得到结果的开始下标(具体你要通过 log 的方式来尝试, 纸笔计算好) # 4, 我们再定位到 right 的下标, 就可以切片出目标字符串 # 5, 返回目标字符串 index1 = find2(s,left) index2 = find2(s,right) index1 = index1 + len(left) return s[index1:index2] s1 = 'meet #<gua># halfway' s2 = 'meet #<gua># #<high>#way' left = '#<' right = '>#' content1 = find_between(s1, left, right) content2 = find_between(s2, left, right) print('结果1 ', content1) # 预期结果:gua print('结果2 ', content2) # 预期结果:gua
-
2023-1-15 21:20:18@
感谢,我刚才重新听了一下课。明白了 😄 🎉️ 🎉️
❤️ 1 -
2023-1-8 19:58:26@
- 你参考一下😄
def find2(s1, s2): for i in range(len(s1)): end=i+len(s2) if end>len(s1): return -1 else: c=s1[i:i+len(s2)] if c==s2: return i def find_between(s, left, right): index1=find2(s,left) index2 = find2(s,right) index1=index1+len(left) return s[index1:index2] s1 = 'meet #<gua># halfway' s2 = 'meet #<gua># #<high>#way' left = '#<' right = '>#' content1 = find_between(s1, left, right) content2 = find_between(s2, left, right) print('结果1 ', content1) print('结果2 ', content2) def read_file(file_name): with open(file_name, 'r') as f: return f.read()
😄 1
- 1
信息
- ID
- 179
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 782
- 已通过
- 153
- 上传者