【问题描述】待扩展字符串中有可能包含空格,例如:a-d x-z应扩展成:abcd xyz。
所以读入待扩展字符串时,应能够读入包含空格的字符串。
只要缩记符号-之后的字符比之前的字符的ASCII码值大,就要将它们之间的所有字符扩展出来,
例如:Z-a之间的字符也要扩展出来;
特殊情况:a-b-c将被扩展为:abc。a-a将被扩展为:a-a。
【输入形式】
从键盘输入包含扩展符的字符串
【输出形式】
输出扩展后的字符串
【输入样例】
a-c-u-B
【输出样例】
abcdefghijklmnopqrstu-B
【样例说明】
扩展输入a-c-u为:abcdefghijklmnopqrstu,而B比u值小,所以无法扩展,直接输出。
分析:
1.本题目关键是查找连接符“-”,因此围绕“-”展开遍历字符串
2.扩充规则中有后一个字符ASCII码大1以上才扩充,大1直接压缩,小于等于则不变
3.还有就是开始结束的判断
参考代码:
def kuozhanx(x,y):
s=''
if ord(x)+1<ord(y):
for i in range(ord(x)+1,ord(y)):
s+=chr(i)
elif ord(x)+1==ord(y):
s+=""
else:
s+='-'
return s
s=input()
ls=len(s)
rs=''
for i in range(ls):
if s[i]=='-' and i!=0 and i!=ls-1:
rs+=kuozhanx(s[i-1],s[i+1]):
else:
rs+=s[i]
print(rs)