实现函数:替换字符串前n个属于ARROWS集合的字符为X
解决方案
首先定义全局变量:
ARROWS = '<>^v'
实现思路
遍历输入字符串的每个字符,仅对前n个字符做处理:
- 若字符属于
ARROWS中的符号,替换为X - 若不属于则保持原字符不变
- 第
n个字符之后的所有内容直接保留原样
代码实现
基础版本(易读性优先)
def replace_arrows(s, n): result = [] for idx, char in enumerate(s): if idx < n: # 处理前n个字符 result.append('X' if char in ARROWS else char) else: # 超出范围的字符直接添加 result.append(char) return ''.join(result)
简洁版本(生成器表达式)
def replace_arrows(s, n): return ''.join( 'X' if idx < n and char in ARROWS else char for idx, char in enumerate(s) )
测试验证
运行以下代码,结果与需求示例完全匹配:
print(replace_arrows('>>.<>>>...', 4)) # 输出: XX.X>>>... print(replace_arrows('>..>..>', 6)) # 输出: X..X..> print(replace_arrows('..>>>.' , 2)) # 输出: ..>>>..
内容的提问来源于stack exchange,提问作者Iplaysoccer
相关产品推荐
相关产品推荐

