测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A35715. 信息科技社团正在进行一种字符串扩展的实验, 实验操作方法如下:(1) 给定一个初始字符串 s, 筛选出其中的大小写字母, 生成新的字符串 x;(2) 将字符串 x 最后一个字符删除, 生成一个新的字符串 y;(3) 将字符串 x 的右边最后一个字符拼接到字符串 x 的末尾;(4) 将字符串 y 拼接到字符串 x 的末尾。按照(2)-(4)步骤重复操作, 每一步将当前字符串的长度加倍, 直到字符串…

填空题 困难

题目描述

信息科技社团正在进行一种字符串扩展的实验, 实验操作方法如下:

(1) 给定一个初始字符串 s, 筛选出其中的大小写字母, 生成新的字符串 x;

(2) 将字符串 x 最后一个字符删除, 生成一个新的字符串 y;

(3) 将字符串 x 的右边最后一个字符拼接到字符串 x 的末尾;

(4) 将字符串 y 拼接到字符串 x 的末尾。

按照(2)-(4)步骤重复操作, 每一步将当前字符串的长度加倍, 直到字符串 x 长度达到 n。

给定初始字符串和 n, 请帮助社团同学们计算扩展的字符串中第 n 个位置的字符。

以 s=“c1ar23” ,n=8 为例

c1ar23 --> car --> carrca --> carrcaacarrc

第 8 个位置上的字符'c', 则输出为 c

输入格式:

第一行, 一个字符串 s(长度不超过 20)

第二行, 一个整数 n(1<=n<=100)

输入样例:

c1ar23

8

输出格式:

一个字符, 表示扩展的字符串中的第 n 个字符。

输出样例:

c

s=input()

n=int(input())

x=""

for i in s:

        if ((i>='A' and i<='Z') _____①_____ ):

                x=x+i

xn=len(x)

while xn<n:

        y=x.replace( _____②_____ , '')

        x=x+x[-1]

        x=x+y

        xn= _____③_____

print( _____④_____ )

参考答案

s=input() n=int(input()) x="" for i in s: if ((i>='A' and i<='Z')or(i>='a' and i<='z')): x=x+i xn=len(x) while xn<n: y=x.replace(x[-1], '') x=x+x[-1] x=x+y xn=len(x) print(x[n-1])

答案解析

评分标准:

(1) or(i>='a' and i<='z')或等效答案; (2 分)

(2) x[-1]或等效答案; (2 分)

(3) len(x)或等效答案; (3 分)

(4) x[n-1]或等效答案。(3 分)

上一题 下一题