字符串Python中的插入

2024-09-28 13:43:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习一些字符串操作python,正如您在下面尝试插入字符时所看到的,但运行了一段时间后失败了。你能解释一下原因吗

phone_num = str("+1-202-555--+0143+")


wrng = ['+','-']

for a in phone_num:    
    if a in wrng:
        b = phone_num.find(a)
        c = phone_num.rfind(a)
        if type(b)!= int or float:
            phone_num = phone_num[:b]+'0'+phone_num[b:]
            print(phone_num)
        elif type(c) != int or float:
            phone_num = phone_num[:c]+'0'+phone_num[c:]
        else:
            print("Wrong")

还试图添加结尾,但失败了

0+1-202-555--+0143+
0+10-202-555--+0143+
0+100-202-555--+0143+
0+1000-202-555--+0143+
0+10000-202-555--+0143+
00+10000-202-555--+0143+
000+10000-202-555--+0143+

预期为0+1-202-555-0-0+0143+0


Tags: or字符串iniftypephone原因float
1条回答
网友
1楼 · 发布于 2024-09-28 13:43:40

我将解释您的代码的作用,并希望它对进一步的步骤有所帮助

它执行七次,因为您有七个符号,因此您有七行输出

第一个条件type(a)!= int的第一部分总是求值为true,因为只有当a是+-时,您才能到达那里。布尔检查的float部分将始终计算为true,因此您可以删除它,并且在单个字符中也不会有浮点

每当它是+时,b将是最左边+的索引,函数将在它前面添加一个0。如果它是a-,b将是最左边的-的索引,并在前面添加a0

相关问题 更多 >

    热门问题