1、编写一个函数,计算一个字符串在另一个字符串中出现次数
def str_find(str1,str2):
len1 = len(str1)
len2 = len(str2)
if len1 < len2:
print('请将长字符串放在前')
return
time = 0
for i in range(len1):
flag = 0
if str2[0] == str1[i]:
flag = 1
for j in range(len2):
if str2[j] != str1[i + j]:
flag = 2
break
if flag == 1:
time += 1
print('%s在%s中出现%d次' % (str2,str1,time))
运行结果为
>>> str_find('I come from China','om')
om在I come from China中出现2次
2、判断一个序列是否为回文序列
def huiwen_check(str1):
len1 = len(str1)
len2 = int(len1/2)
if not len1%2:
str2 = list(str1[:len2])
str3 = list(str1[len2:])
str3.reverse()
else:
str2 = list(str1[:len2])
str3 = list(str1[len2 + 1:])
str3.reverse()
if str2 == str3:
print('%s是回文序列' % (str1))
else:
print('%s不是回文序列' % (str1))
运行结果为
>>> huiwen_check('上海自来水来自海上')
上海自来水来自海上是回文序列
>>> huiwen_check('上海自来水来自哪')
上海自来水来自哪不是回文序列
可改进为