python编写统计 单词个数并将单词依次输出
时间: 2024-05-07 12:21:35 浏览: 96
可以使用Python中的字典来实现单词计数,然后将字典按照单词出现的次数排序并输出。具体代码如下:
```python
text = input("请输入一段文本:")
words = text.split() # 将文本分割成单词列表
word_count = {} # 创建一个空字典来存储单词计数
# 统计每个单词出现的次数
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 按照单词出现的次数排序
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
# 输出单词及其出现次数
for word, count in sorted_word_count:
print(word, count)
```
这段代码首先提示用户输入一段文本,然后将文本分割成单词列表。接着,使用一个字典来存储每个单词出现的次数,遍历单词列表,如果单词已经在字典中,则将其出现次数加1,否则将其添加到字典中并将出现次数设为1。然后使用Python内置的sorted函数按照单词出现的次数进行排序,并将结果输出。
相关问题
用python编写输入任意一行字符串,含有数字和非数字字符以及空格等,如: df23A?45d0@ 输出其中数字和字母出现的个数 如果将其中所有连续出现的字母视为一个单词,要求统计在该字符串中共有多少个单词, 并将这些数依次输出。
好的,以下是Python代码实现:
```python
s = input("请输入字符串:")
# 统计数字和字母个数
num_count = 0
letter_count = 0
for c in s:
if c.isdigit():
num_count += 1
elif c.isalpha():
letter_count += 1
# 统计单词个数
word_count = 0
in_word = False
for c in s:
if c.isalpha():
if not in_word:
in_word = True
word_count += 1
else:
in_word = False
print("数字个数:", num_count)
print("字母个数:", letter_count)
print("单词个数:", word_count)
```
输入任意一行字符串后,程序会先分别统计其中数字和字母的个数。然后再扫描一遍字符串,统计其中的单词个数。在扫描的过程中,如果遇到字母,就认为进入了一个单词,如果遇到非字母,就认为一个单词结束。利用一个布尔变量 `in_word` 记录当前是否处于单词中,可以达到这个目的。最后将统计结果输出即可。
输入任意一行字符串,含有数字和非数字字符以及空格等,如: df23A?45d0@ 输出其中数字和字母出现的个数 如果将其中所有连续出现的字母视为一个单词,要求统计在该字符串中共有多少个单词, 并将这些数依次输出。 【样例输入1】 df23A?45cde0@a 【样例输出1】 5 7 4 df A cde a 用python编写
好的,可以使用正则表达式来匹配字符串中的数字和字母。以下是Python代码实现:
```python
import re
# 输入字符串
string = input("请输入字符串:")
# 统计数字和字母的个数
nums = len(re.findall(r'\d', string))
letters = len(re.findall(r'[a-zA-Z]', string))
print("数字个数:", nums)
print("字母个数:", letters)
# 将连续出现的字母视为一个单词,统计单词个数并输出
words = re.findall(r'[a-zA-Z]+', string)
word_count = len(words)
print("单词个数:", word_count)
for word in words:
print(word, end=' ')
```
输出结果示例:
```
请输入字符串:df23A?45cde0@a
数字个数: 4
字母个数: 8
单词个数: 4
df A cde a
```
阅读全文