Python实现输入文本中每第三个字符的大小写互换功能
解决方案:实现每第三个字符大小写互换
你的输入验证逻辑是正确的,但当前代码使用x.swapcase()会将所有字符的大小写互换,不符合仅处理每第三个字符的需求。以下是修改后的实现:
完整代码
while True: x = input("Please enter a text: ") if not x.isalpha(): print("Please enter a valid text: ") continue else: # 将字符串转为列表(字符串不可变,列表便于修改单个字符) char_list = list(x) # 遍历每个字符的索引和内容 for i, char in enumerate(char_list): # 判断是否是第3、6、9...个字符(从1开始计数) if (i + 1) % 3 == 0: # 对该字符进行大小写互换 char_list[i] = char.swapcase() # 将列表转回字符串并输出 result = ''.join(char_list) print(result) break
关键逻辑说明
- 利用
enumerate同时获取字符的索引和内容,索引i从0开始,所以用i+1对应实际的字符位置(第1、2、3...个) - 条件
(i + 1) % 3 == 0精准匹配每第三个字符 - 字符串是不可变类型,因此先转为列表修改单个字符,最后用
join拼接回字符串
测试示例
- 输入
HeLlo→ 输出Hello(第3个字符L转为小写l) - 输入
HELLO→ 输出HElLO(第3个字符L转为小写l)
内容的提问来源于stack exchange,提问作者Juj
相关产品推荐
相关产品推荐

