仅打印字符串中的小写字符

时间:2015-12-24 02:03:07

标签: python string

如何编写代码,python只打印出字符串的小写字母。在这种情况下,它应该排除P。

我试过了:

word = "Programming is fun!"

for letter in word:
        if letter.lower():
        print letter

但它并不打印出小写字母。我怎么才能从小写字母中获取小写字符而不是小写字符串中的整个字符串。

5 个答案:

答案 0 :(得分:3)

你想要letter.islower()(哪些测试),而不是letter.lower()(转换)。

如果您还要打印非套接字符,请检查:

if letter.islower() or not letter.isalpha():

答案 1 :(得分:1)

请尝试使用islower

letter.islower()

答案 2 :(得分:1)

你的工作不起作用是因为你调用了.lower()这是String类的一个方法 - 它改变了有问题字母的大小写,并导致True

有很多方法可以获得你想要的结果,我能想到的最简单的方法是:

word = "Hello World!"
for letter in word:
    if letter.islower():
        print(letter)

请注意,我的版本中存在相同的测试,这是您的缺失。

编辑:正如其他答案所指出的那样,.islower()是一种更简洁的方式来检查这封信的情况。同样,.isupper()只会print为大写字母。

答案 3 :(得分:0)

您可以使用

print filter(lambda c: c.islower(), word)

答案 4 :(得分:0)

您的问题实际上会回答什么(正如我从提供的输出中可以看出的)将是: import string word="Programming is fun!" filter(lambda c: c.islower() or not(c.isupper() and c in string.printable), word)