此处认为单词之间以空格为分隔符,并且不包含,和>; 用户输入一句英文句子, 打印出每个单词及其軍复的次数(用format格式化形式输出) 例如: 输入: * hello java hello python" 結果: hello 2 java 1 python 1
时间: 2024-11-05 14:24:24 浏览: 10
为了实现这个功能,你可以编写一个简单的Python程序,使用内置的`split()`函数将输入的字符串分割成单词列表,然后统计每个单词出现的次数。接下来,使用`collections.Counter`类来方便地计算词频。最后,使用`format()`函数按照指定的格式输出结果。
```python
from collections import Counter
def word_count(sentence):
# 分割句子为单词列表
words = sentence.split()
# 使用Counter计算每个单词的频率
word_counts = Counter(words)
# 格式化并打印结果
for word, count in word_counts.items():
print(f"{word}: {count}")
# 示例输入
sentence = "* hello java hello python"
word_count(sentence)
```
当你运行上面的代码,它会处理给定的句子并输出每个单词及其出现次数:
```
hello: 2
java: 1
python: 1
```
相关问题
使用Python写一个程序,键盘输入一句英文,输出单词个数,每个单词之间以空格为分隔符,写两个版本,第一个版本标点符号也算进去,第二个不包括标点符号
第一个版本:
```python
input_str = input("请输入一句英文:")
word_list = input_str.split()
print("单词个数为:", len(word_list))
```
第二个版本:
```python
import string
input_str = input("请输入一句英文:")
input_str = input_str.translate(str.maketrans("", "", string.punctuation)) # 去掉标点符号
word_list = input_str.split()
print("单词个数为:", len(word_list))
```
编写一个程序,输入两个英文句子,每个句子里英文单词之间用空格分隔,输出它们最长的公共单词。
你可以使用以下Python代码来解决这个问题:
```python
def find_longest_common_word(sentence1, sentence2):
# 将句子转换为单词列表
words1 = sentence1.split()
words2 = sentence2.split()
# 初始化最长公共单词为空字符串
longest_common_word = ""
# 遍历第一个句子中的单词
for word in words1:
# 如果单词同时出现在第二个句子中,并且比当前最长公共单词要长
if word in words2 and len(word) > len(longest_common_word):
longest_common_word = word
return longest_common_word
# 输入两个句子
sentence1 = input("请输入第一个句子:")
sentence2 = input("请输入第二个句子:")
# 调用函数并输出结果
result = find_longest_common_word(sentence1, sentence2)
print("最长的公共单词是:", result)
```
这个程序首先会将输入的两个句子分别转换成单词列表,然后遍历第一个句子中的单词。在每个单词中,它会检查它是否同时出现在第二个句子中,并且比当前最长公共单词要长。如果是,则更新最长公共单词。最后,它会输出最长的公共单词。
请注意,这个程序假设输入的句子中只包含英文单词和空格,并且不考虑标点符号和大小写。如果你有其他要求或者特殊情况,请提供更多的细节。
阅读全文