为了账号安全,请及时绑定邮箱和手机立即绑定

#为什么在 Python 中手动清理字符串可以工作,但创建完全相同的函数却不行?

#为什么在 Python 中手动清理字符串可以工作,但创建完全相同的函数却不行?

千巷猫影 2022-01-11 17:54:15
我创建了一些混乱的字符串并试图修复它。最终我遇到了我的功能不起作用但手动输入的相同代码有效的问题。问题: 为什么在 Python 中相同的代码在函数中不起作用,但是当您手动编写相同的代码时它确实起作用?这是代码:    #A variable    x = "apples and oranges!"    #Making a variable messed up strings    x = "-".join(x)    x = str(x.split("-"))    #Creating automatic function for cleaning messed up strings    def clnStr(x):        y = x        y = y.replace("'", "")        y = y.replace(",", "")        y = y.replace("[", "")        y = y.replace("]", "")        y = y.replace(",", "")        y = y.replace(" ", "")    clnStr(x)    print(x)    #Cleaning up string variable manually    y = x    y = y.replace("'", "")    y = y.replace(",", "")    y = y.replace("[", "")    y = y.replace("]", "")    y = y.replace(",", "")    y = y.replace(" ", "")    print(y)# Repairing string variablefor i, index in enumerate(y): #Getting a list of indexes of a string variable    print(i, index)y = y[0:6] + " " + y[6:9] + " " + y[9:]print(y)#cannot repair 'x' variable with same method because the function does not work as it should.
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

你没有从你的clnStr函数中返回任何东西。尝试:


def clnStr(x):

    y = x

    y = y.replace("'", "")

    y = y.replace(",", "")

    y = y.replace("[", "")

    y = y.replace("]", "")

    y = y.replace(",", "")

    y = y.replace(" ", "")

    return y


z = clnStr(x)

print(z)


查看完整回答
反对 回复 2022-01-11
  • 1 回答
  • 0 关注
  • 183 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号