2) 假定输入的字符串中只包含字母和*号。请编写函数 fun ,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不要删除,形参 n 给出字符串的长度,形参 h 给出了字符串中前导*号的个
时间: 2024-12-19 21:19:13 浏览: 27
除了尾部的*号之外,将字符串中其它*号全部删除。
5星 · 资源好评率100%
针对这个问题,你可以编写一个Python函数`fun`来实现这个需求。下面是一个简单的例子:
```python
def fun(s, n, h):
# 检查输入是否合法,如果n小于等于0或者h大于n,则无需处理,直接返回原字符串
if n <= 0 or h > n:
return s
# 删除前导的*
start = min(h, n)
s = s[start:]
# 删除尾部多余的*
while s and s[0] == '*':
s = s[1:]
# 如果字符串开始就只有一个*,则保留它
if not s:
return '*'
# 返回处理后的字符串,中间的*号保持不变
return ''.join('*' if c == '*' else c for c in s)
# 示例
input_str = "****hello****"
length = len(input_str)
header_star_count = 4
result = fun(input_str, length, header_star_count)
print(result) # 输出:*hello**
```
这个函数首先检查输入的有效性,然后逐步去掉前导和尾部的*号。注意,在实际应用中,你需要处理字符串中有多个连续*号的情况。
阅读全文