如果单词中有特定字母,请打印出来?

时间:2014-08-20 06:45:13

标签: python python-3.x

如何在列表或字符串中打印出包含特定字母的单词?

e.g。

信:e

输入:我的程序需要帮助

需要帮助

看看它是如何打印出“需要帮助”的,因为这些单词中有“e”?帮助:)

我的解决方法:

a = input("Letter: ")
b = input("Input: ")
c = b.count(a)
print(c)
d = b.split()
for e in d:
  print(e,end=" ")

3 个答案:

答案 0 :(得分:0)

您可以使用in检查字符(或子字符串)是否在字符串中:

letter = input("Letter: ")[0] # Limit to one character
words = input("Text: ").split()
for word in words:
    if letter in word:
        print(word, end=" ")
print() # Add newline

附录(见评论):

要删除最终空格,您可以在字符串中累积单词然后将其删除

letter = input("Letter: ")[0] # Limit to one character
words = input("Text: ").split()
output = ""
for word in words:
    if letter in word:
        output += word + " "
print(output.rstrip()) # Print without trailing whitespace

或(我不鼓励,因为它使意图不那么明显)检查你是否遇到了最后一个字并打印换行而不是额外的空格(所以你不要这样做)需要额外的print()

letter = input("Letter: ")[0] # Limit to one character
words = input("Text: ").split()
for index in range(len(words)):
    if letter in words[index]:
        the_end = "\n" if index == len(words) - 1 else " " # Newline only if it is the last word
        print(word, end=the_end)

答案 1 :(得分:0)

你几乎拥有它。在for循环中,现在只需要一个条件。

条件是一个声明,用于确定某些内容是True还是False

你可能想要:

for e in d:
    if a in e:
        print(e)

答案 2 :(得分:0)

为什么不简单:

a = input("Letter: ")
b = input("Input: ")
words = b.split()
for word in words:
    if a in word:
        print(word)