python编程,输入一句英文,计算单词出现的次数,按正序排序输出
时间: 2024-09-23 18:16:49 浏览: 59
在Python中,你可以通过创建一个字典来统计每个单词的出现次数,并利用内置函数对结果进行排序。这里是一个简单的示例:
```python
def word_count_sort(sentence):
# 将所有字母转为小写并分割成单词列表
words = sentence.lower().split()
# 创建一个空字典存储单词及其计数
word_counts = {}
# 遍历单词列表,如果单词已存在字典中,则计数加一,否则添加到字典并设置计数为1
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
# 按照单词频率从高到低排序字典
sorted_word_counts = dict(sorted(word_counts.items(), key=lambda item: item[1], reverse=True))
# 输出结果
for word, count in sorted_word_counts.items():
print(f"{word}: {count}")
# 示例使用
sentence = input("请输入一句英文:")
word_count_sort(sentence)
相关问题
2024/9/24 19:30:54 54 编写一个程序,根据输入的一句英文,计算单词出现的次数,并按正序排序后输出 用python3实现
在Python3中,你可以编写一个简单的程序来实现这个功能。这里是一个示例:
```python
def word_count_sort(input_string):
# 将字符串分割成单词列表并转换为小写
words = input_string.lower().split()
# 使用字典存储每个单词及其出现次数
word_counts = {}
for word in words:
if word not in word_counts:
word_counts[word] = 1
else:
word_counts[word] += 1
# 对字典按照值(也就是单词出现次数)降序排序
sorted_word_counts = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)
# 输出结果
for word, count in sorted_word_counts:
print(f"{word}: {count}")
# 示例输入
input_string = "Hello world! This is a sample sentence with some words repeated."
word_count_sort(input_string)
```
当你运行这个程序并提供一句英文输入时,它会统计每个单词出现的次数,并将它们按出现频率从高到低排序。
练习1:输入一句英文句子,统计单词的个数。 输入样例: I am from China 输出样例:4 练习2:输入一行整数,整数之间用空格隔开,对输入的数据进行正向排序。 输入样例: 5 8 45 23 -1 输出样例:-1 5 8 23 45 使用python
练习1:你可以使用Python的内置函数`split()`来分割字符串成单词列表,然后使用`len()`函数计算列表的长度。下面是一个简单的示例:
```python
def count_words(sentence):
words = sentence.split() # 分割句子成单词列表
word_count = len(words) # 计算单词数量
return word_count
sentence = input("请输入英文句子: ")
word_count = count_words(sentence)
print("单词个数:", word_count)
```
运行这个程序并输入相应的英文句子,它会返回单词的数量。
练习2:对于整数排序,你可以使用Python的`sorted()`函数,它可以接受一个包含整数的列表,并返回一个新的已排序列表。这里是代码实现:
```python
def sort_integers(numbers):
sorted_numbers = sorted(map(int, numbers.split())) # 将输入转换为整数并排序
return sorted_numbers
input_str = input("请输入一组整数: ")
numbers_list = sort_integers(input_str)
print("排序后的结果: ", " ".join(map(str, numbers_list)))
```
输入一串用空格分隔的整数,程序将返回一个正序排列的结果。
阅读全文