题库首页 › 青少年软件编程(Python) › 题目 15607

字符串循环移位 字符串的循环移位过程是将字符串的第一个字符移动到末尾形成新的字符串,例如,现有一个字符 串"AABCD",移位一次后产生新字符串"ABCDA",再移位一次产生新字符串"BCDAA",依次类推。下面的程 序实现的功能是:首先输入两个字符串,判断其中较短的字符串是否是较长的字符串通过若干次循环移位后的 新字符串的子串。例如输入字符串"CDAA"和"AABCD",因为"CDAA"是由"AABCD"两次移位后产生的新字符 串"BCDAA"的子串,所以结果输出"Yes"。如果输入字符串"ABCD"和"ACBD",因为"ABCD"不是"ACBD"循环 移位产生的新字符串的子串,"ACBD"也不是"ABCD"循环移位产生的新字符串的子串,所以输出"No"。 实现上述功能的Python程序如下,请在划线处填入合适的代码。

字符串循环移位 字符串的循环移位过程是将字符串的第一个字符移 题目配图

正确答案:循环移位等价于短串是长串两倍串的连续子串。判断较短者是否在较长者自身拼接的串中:若shorter in longer+longer则Yes,两方向都查,否则No。

答案解析

评分标准:

(1)count=0(或等效答案);(3分)

(2)p+=1(或等效答案);(3分)

(3)flag==True(或等效答案);(2分)

(4)flag==False(或等效答案)。(2分)

试卷来源:202506 青少年软件编程等级考试Python五级真题

本卷相关题目

在线做题 同科目题库