这段代码在我的python 3.5中不起作用

时间:2016-07-31 13:49:42

标签: python python-3.5

我是编码的新手,这个函数是将字符串或句子中的所有字母都设为小写,然后收集所有不带空格的字母。我可以理解(导入字符串),它在(MIT COURSE)的视频中运行良好,他们正在使用python 2.7 ......我试图复制它但是......:

def toChars(s):  
    import string  
    s = string.lower(s) 
    ans = ''  
    for c in s:    
        if c in string.lowercase:  
            ans = ans + c  
        return ans  

toChars("Test")

给出错误:

  

AttributeError:模块'string'没有属性'lower'

1 个答案:

答案 0 :(得分:2)

替换:

    s = string.lower(s) 

使用:

    s = s.lower() 

这是新python版本中的正确方法。

另外,改变:

         if c in string.lowercase:  

要:

         if c.islower():

如OP评论中所述,您还应该修复return语句的缩进。