【问题标题】:Python code to find a total number of shortest words in a string用于查找字符串中最短单词总数的 Python 代码
【发布时间】:2018-12-09 11:10:33
【问题描述】:

我正在寻找一个 python 代码来查找字符串中最短单词的总数。 例如,如果字符串是“The play's the thing where I'll catch the king's conscience.”那么结果应该是“8个短字”

【问题讨论】:

  • 您能否提供一个代码 sn-p 来显示您已经尝试过的内容?如果您需要更多信息,请参阅 Asking a good questionFormatting
  • @Virginia 是的,确切的问题如下
  • @Virginia 编写一个脚本,读取输入的文本,分析文本包含多少个单词,并打印出总单词数以及仅三个字母的“短”单词数或更少。字符串是:“这出戏是我要抓住国王良心的东西。” string= input("输入字符串:") word=1 for i in string: if(i==' '): word=word+1 print("字符串中的字数:") print(word)跨度>
  • 啊,我明白了。我对 Python 还是很陌生,所以恐怕我无法在语法等方面为您提供帮助。我确实认为您需要一种方法,首先计算字符串中的所有单词。您的第二步可能是遍历所有找到的单词并检查它们的长度是否为三个字母或更少。祝你好运!

标签: python string


【解决方案1】:

input_string = "The play 's the thing wherein I'll catch the conscience of the king."

统计字数:
print(len(input_string.split()))

输出:
13

统计三个字母或更少的单词数:
print(len([x for x in input_string.split() if len(x) <= 3]))

输出:
6

如果您想要三个字母或更少的单词列表,请排除 len() 函数。
print([x for x in input_string.split() if len(x) <= 3])

输出:
['The', "'s", 'the', 'the', 'of', 'the']

【讨论】:

  • 嘿,有没有办法让代码将“我会”视为两个单独的词。这使得单词数为 14 。此外,当代码统计三个字母或更少的单词时,它还可以将“I'll”计算为两个不同的单词,这使得三个字母或更少的单词的输出为 8。
  • 当然有办法。这取决于“我会”是否是您希望将其视为两个单独单词的唯一单词? “你会”还是“我们会”呢?
  • 是的,所有这样的词都应该被视为两个单独的词。你能分享一下如何做到这一点的代码吗?提前致谢
猜你喜欢
  • 1970-01-01
  • 2018-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多