Python 对字符串由数字和 “*”星型字符两种字符无序构成的stra,,现在想把所有的星型字符挪到数组的左边,数字字符全部放到右边,数字字符之间的相互顺序不变。补充程序中所缺代码,完成上述功能。 【输入形式】 输入一个有数字和星号构成的字符串 【输出形式】 换位后的字符串 【样例输入】 12*23**567 【样例输出】 ***1223567
时间: 2023-05-21 16:02:07 浏览: 386
python中实现字符串翻转的方法
5星 · 资源好评率100%
以下是代码实现:
```python
s = input() # 输入字符串
lst = list(s) # 将字符串转换为列表
left, right = 0, len(lst) - 1 # 定义左右指针
while left < right:
if lst[left] == '*': # 如果左指针指向的是星号
left += 1 # 左指针右移
elif lst[right] != '*': # 如果右指针指向的不是星号
right -= 1 # 右指针左移
else: # 如果左指针指向的是数字,右指针指向的是星号
lst[left], lst[right] = lst[right], lst[left] # 交换左右指针指向的字符
left += 1 # 左指针右移
right -= 1 # 右指针左移
print(''.join(lst)) # 将列表转换为字符串并输出
```
样例输入:
```
12*23**567
```
样例输出:
```
***1223567
```
阅读全文