如何在列表或字符串中打印出包含特定字母的单词?
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=" ")
答案 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)