You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python函数开发求助:实现字符串奇偶位字母大小写转换

奇偶位字母大小写转换函数的正确实现

原代码存在的问题

  • 循环内每次将placeholderstr赋值为单个字符,导致len(placeholderstr) > 1的判断永远不成立,核心逻辑完全未执行
  • Python字符串是不可变类型,placeholderstr[0::1].lower()这类操作仅返回新字符串,不会修改原变量,且你未保存这些返回结果
  • 切片步长设置错误:选取奇偶位置需要步长为2,而非1(0::2对应索引0、2、4...,即第1、3、5位;1::2对应索引1、3、5...,即第2、4、6位)

三种正确实现方式

方式一:枚举索引遍历(直观易读)

def myfunc(mystr):
    result_chars = []
    for index, char in enumerate(mystr):
        # 索引从0开始,奇数位(第1、3、5...位)转小写,偶数位(第2、4、6...位)转大写
        if index % 2 == 0:
            result_chars.append(char.lower())
        else:
            result_chars.append(char.upper())
    return ''.join(result_chars)

方式二:切片拼接(契合你最初的切片思路)

def myfunc(mystr):
    # 先统一转为小写,避免原字符串大写干扰
    lower_version = mystr.lower()
    # 拼接奇数位切片和转大写后的偶数位切片
    return lower_version[0::2] + lower_version[1::2].upper()

方式三:列表推导式简化写法

def myfunc(mystr):
    return ''.join(
        char.lower() if idx % 2 == 0 else char.upper()
        for idx, char in enumerate(mystr)
    )

测试示例

调用myfunc("HelloWorld"),返回结果为hElLoWoRlD

内容的提问来源于stack exchange,提问作者Ichiban Fashion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 17:52:32