【Python】驼峰变量转换为下划线

在这里插入图片描述

算法心得

我在便这个题目的时候,很慌张,不知道怎么变成,因为我本身对字符串是有一种恐惧的。但是,我逼迫自己静下来,认真分析。

  • 第一步:分析题目要求
    驼峰改成下划线,并看看例子,它把所有情况都列了出来,所以,我们编写的程序只要满足上面三个就可以,那我们就逐一分析。
  • 第二步:分析既然要把驼峰变为下划线,那么就要分析什么时候要变
  • 第三步:罗列变成下划线的条件
    ①从第一个我们看不出什么,只知道都是小写
    ②从第二个我们得出信息:当前字母为大写,前一个字母为小写,需要在中间加入’_’
    ③从第三个我们得出信息:当前字母为大写,前一个字母也为大写,后一个字母为小写,需要在当前字母和前一个字母之间加上’ _ ’
    ④得到的输出全部为小写字母,这个我们看作次要因素,最后一起转为小写

python代码

def change_name(name):
    new_name = ""
    name += " " # 为了防止数据溢出
    for i in range(len(name)-1):
        
        if i == 0:
            new_name +=name[i]
            
        elif name[i].isupper() and  name[i-1].islower():
            new_name += "_" + name[i]
        
        # 如果不在前面加上name += " ",这里会索引越界
        elif name[i].isupper() and name[i-1].isupper() and name[i+1].islower() :
            new_name += "_" + name[i]
            
        else :
            new_name += name[i]
        
        
    return new_name.lower()
        
    
print(change_name("variable"))
print(change_name("oneVariable"))            
print(change_name("OneHTTPResquest"))
print(change_name("OneHTTPResquestAA"))

# result
variable
one_variable
one_http_resquest
one_http_resquest_aa

学到的python知识

1. ""表示空字符串
b = "" 等价于 b = str() # len(b)=0
2. 学会了判断字符的大小写
3. 深刻得体会到str类的对象为可迭代对象
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

InceptionZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值