用python写一个统计文件中单词和字符个数的程序。在此,单词指的是仅由字母组成的串。诸如is7years这样的串按照两个单词计算。
时间: 2024-03-07 22:46:36 浏览: 24
可以使用python中的正则表达式库re来实现。
以下是一个示例程序:
```python
import re
filename = input("请输入文件名:")
word_count = 0
char_count = 0
with open(filename, 'r') as f:
for line in f:
# 使用正则表达式匹配单词
words = re.findall(r'\b[a-zA-Z]+\b', line)
word_count += len(words)
char_count += len(line)
print("单词数:", word_count)
print("字符数:", char_count)
```
程序通过输入文件名来读取文件内容,使用正则表达式 `\b[a-zA-Z]+\b` 匹配所有仅由字母组成的单词,统计单词数和字符数并输出。注意,程序中字符数包括了文件中所有的字符,包括空格、标点符号等。如果需要排除这些字符,可以在统计字符数时进行相应的处理。
相关问题
python定义一个函数来判断单词m是否可以由字符串n中出现的字母来组成
可以使用Python中的字典来解决这个问题。首先,使用一个字典来存储字符串n中每个字符出现的次数,然后遍历单词m中的每个字符,检查它是否出现在字典中,如果出现,将字典中对应字符出现次数减1,如果字典中某个字符的出现次数小于0,则说明单词m无法由字符串n中的字母来组成。
下面是一个示例函数的代码:
```python
def can_construct(m, n):
# 构建字典来存储字符串n中每个字符出现的次数
n_dict = {}
for char in n:
n_dict[char] = n_dict.get(char, 0) + 1
# 遍历单词m中的每个字符,检查是否能由字符串n中的字母组成
for char in m:
if char in n_dict:
n_dict[char] -= 1
if n_dict[char] < 0:
return False
else:
return False
return True
```
可以调用这个函数来判断一个单词是否能由一个字符串中的字母组成,例如:
```python
n = "hello"
m = "ollhe"
print(can_construct(m, n)) # True
m = "world"
print(can_construct(m, n)) # False
```
用python写一个程序,计算一个字符串中有多少个单词。
好的,你可以使用Python的字符串操作和正则表达式来实现这个功能。以下是一个简单的程序示例:
```python
import re
def count_words(string):
words = re.findall(r'\b\w+\b', string)
return len(words)
string = "Hello, world! This is a test string."
num_words = count_words(string)
print("Number of words:", num_words)
```
运行此程序将输出:
```
Number of words: 8
```
这个程序使用了`re.findall()`函数来查找所有的单词,使用正则表达式`r'\b\w+\b'`来匹配单词。`\b`表示单词的边界,`\w+`表示一个或多个字母数字字符。`len()`函数用于计算单词数量。