A21794. 回文单词某同学收集了很多单词,不同的单词之间用'-'拼接在一起,如'refer-level-face-',他发现有些单词如level,从左往右读和从右往左读该单词是一样的,称之为回文单词。他想统计他收集的单词中有多少个回文单词。步骤如下:(1)首先将单词按'-'分割出所有单词,(2)统计这些单词中回文单词的数量。编写的Python代码如下,完善划线处的代码。def revstr(str): if…
填空题
较难
知识点
题目描述
回文单词
某同学收集了很多单词,不同的单词之间用'-'拼接在一起,如'refer-level-face-',他发现有些单词如level,从左往右读和从右往左读该单词是一样的,称之为回文单词。他想统计他收集的单词中有多少个回文单词。步骤如下:(1)首先将单词按'-'分割出所有单词,(2)统计这些单词中回文单词的数量。编写的Python代码如下,完善划线处的代码。
def revstr(str):
if len(str) == 1:
return ________①_________
else:
return ________②_________
word = 'refer-level-face-'
wordlst = []
s = ''
for t in word:
if t !='-':
________③_________
else:
wordlst.append(s)
s = ''
c = 0
for w in wordlst:
rev = revstr(w)
if ________④_________ :
c += 1
print('对称的字符串个数有',c)参考答案
def revstr(str):
if len(str) == 1:
return str
else:
return revstr(str[1:]) + str[0]
word = 'refer-level-face-'
wordlst = []
s = ''
for t in word:
if t !='-':
s += t
else:
wordlst.append(s)
s = ''
c = 0
for w in wordlst:
rev = revstr(w)
if w == rev:
c += 1
print('对称的字符串个数有',c)答案解析
评分标准:
(1)str(或等效答案); (2分)
(2)revstr(str[1:]) + str[0](或等效答案);(3分)
(3)s += t 或 s = s + t(或等效答案); (2分)
(4)w == rev(或等效答案)。(3分)
上一题
下一题