刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

给定一个完全由数字字符(‘0’,‘1’,‘2’,…,‘9’)构成的字符串str,请写出str的p型编码串。例如:字符串1335554668可被描述为"1个1、2个3、3个5、1个4、2个6、1个8",因此我们说1335554668的p型编码串为112335142618;00000000000可描述为"11个0",因此它的p型编码串为110;类似的道理,编码串101可以用来描述1111111111;110003444225可描述为"2个1、3个0、1个3、3个4、2个2、1个5",因此它的p型编码串为213013342215。如果输入非数字字符,则提示输入无效。 根据上述算法思想,补全下列代码。 s=input(“请输入字符串str:”) s+=’ ’ lens=len(s) for i in range(0,++++ ,1): if ‘0’<=s[i]<=‘9’: ++++ else: print(‘输入无效!’) exit() sum=1 i=0 while i< p=""><> if ++++ : sum+=1 else: print(sum,end=‘‘) print(s[i],end=’’) ++++ i+=1


使用微信搜索喵呜刷题,轻松应对考试!

答案:

参考程序:

s=input(“请输入字符串str:”)

s+=’ ’

lens=len(s)

for i in range(0,lens-1,1):

if ‘0’<=s[i]<=‘9’:

continue

else:

print(‘输入无效!’)

exit()

sum=1

i=0

while i< p=""><>

if s[i]==s[i+1]:

sum+=1

else:

print(sum,end='')

print(s[i],end='')

sum=1

i+=1

解析:

【喵呜刷题小喵解析】:根据题目描述,我们需要编写一个程序来生成一个字符串的p型编码串。首先,我们定义了一个字符串`s`,然后通过`input`函数从用户那里获取输入。接着,我们检查输入字符串中的每个字符,如果字符不是数字字符,则输出“输入无效”并退出程序。然后,我们初始化一个变量`sum`为1,用于记录当前连续重复的数字字符的个数。同时,我们定义一个变量`i`为0,用于遍历输入字符串。接下来,我们进入一个`while`循环,循环条件是`i①++ ,1)`中的`++++`是不合法的,应该是`lens-1`,表示遍历到倒数第二个字符。同样,`++++`、`++++`和`++++`也是不合法的,应该直接用变量名`sum`、`s[i]`和`s[i+1]`。另外,在输出时,`print(sum,end='')`和`print(s[i],end='')`之间应该有空格,即`print(sum,s[i],sep='',end='')`。因此,修正后的代码如上所示。
创作类型:
原创

本文链接: 给定一个完全由数字字符(‘0’,‘1’,‘2’,…,‘9’)构成的字符串str,请写出str

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share