python有四个过不了,求助

P1308 [NOIP2011 普及组] 统计单词数

@[lwd_YYDS](/user/1318593) ```python def a_b(a:chr,b:chr): return a.lower()==b.lower()#这里改不改都行 def wd(a:str,b:str): na=len(a) nb=len(b) count=0 first=-1 for i in range(nb): if a_b(a[0],b[i]) and(i==0 or not('a'<=b[i-1]<='z' or 'A'<=b[i-1]<='Z')):#这里加上判断,即 b[i] 前面一个字符不是字母 j=1 k=i+1 while j<na and k<nb and a_b(a[j],b[k]): j+=1 k+=1 if j==na and ((k<nb and not('a'<=b[k]<='z' or 'A'<=b[k]<='Z')) or (k==nb)): count+=1 if count==1: first=i if count==0: print(first) else: print(count,first) aa=input() bb=input() wd(aa,bb) ``` 其实本题用 Python 并不需要写这么复杂: ```python word,passage=input().lower(),' '+input().lower()+' ' l=passage.split() num=l.count(word) if num==0: print(-1) else: ind=passage.index(' '+word+' ') print(num,ind) ```
by Terrible @ 2024-04-07 16:50:36


@[Terrible](/user/195942) 哦哦对,脑子一时间反应不过来了,去上了个厕所,突然就想到是不是前后空格的问题,我只考虑了后边,python代码其实还是能很短的,受益匪浅
by lwd_YYDS @ 2024-04-07 17:12:02


|