|
发表于 2020-2-23 12:41:29
|
显示全部楼层
本帖最后由 jackz007 于 2020-2-23 13:00 编辑
用现成的 BIF 应该是不符合题目要求。
楼主试试这个代码
- #-*-coding:gbk-*-
- def findstr(longstr , str2):
- c = sum([1 for k in range(0 , len(longstr) , 2) if longstr[k : k + 2] == str2])
- return c + sum([1 for k in range(1 , len(longstr) , 2) if longstr[k : k + 2] == str2])
- f1 , f2 = False , False
- while not f1 or not f2:
- if not f1:
- longstr = input('请输入目标字符串:') . strip()
- if len(longstr) > 1:
- f1 = True
- else:
- if len(longstr) == 0:
- break
- else:
- print('目标字符串的长度必须大于 1!\n')
- if f1 and not f2:
- str2 = input('请输入子字符串(两个字符):') . strip()
- if len(str2) == 2:
- f2 = True
- else:
- if len(str2) == 0:
- break
- else:
- print('字符串必须是两个字符!\n')
- if f1 and f2:
- count = findstr(longstr , str2)
- if count > 0:
- print('子字符串在目标字符串中共出现' , count , '次')
- else:
- print('在目标字符串中未找到字符串!')
复制代码
运行实况:
- C:\Bin>python x2.py
- 请输入目标字符串:I love you , Do you love me?
- 请输入子字符串(两个字符):ov
- 子字符串在目标字符串中共出现 2 次
- C:\Bin>
复制代码 |
|