Python输入一个包含标点符号的英文句子,统计输出句子中的单词个数,不用正则表达式
时间: 2024-06-09 11:09:24 浏览: 17
可以使用 Python 的字符串函数 `split()` 将句子拆分成单词列表,然后计算列表长度即可得到单词个数。需要注意的是,标点符号需要在拆分前进行处理。
以下是示例代码:
```python
import string
# 输入英文句子
sentence = input("请输入英文句子:")
# 去除标点符号
for c in string.punctuation:
sentence = sentence.replace(c, " ")
# 拆分成单词列表
words = sentence.split()
# 输出单词个数
print("该句子中共有 %d 个单词。" % len(words))
```
示例输出:
```
请输入英文句子:Hello, world! This is a test.
该句子中共有 7 个单词。
```
相关问题
Python输入一个包含标点符号的英文句子,统计输出句子中的单词个数
可以使用 Python 内置的字符串方法和正则表达式来实现这个功能。下面是一个示例代码:
```python
import re
# 输入句子
sentence = input("请输入一个包含标点符号的英文句子:")
# 使用正则表达式替换标点符号为空格,然后按空格分割单词
words = re.sub(r'[^\w\s]', ' ', sentence).split()
# 输出单词个数
print("单词个数为:", len(words))
```
解释一下代码:
首先,使用 `input` 函数获取用户输入的句子。
然后,使用正则表达式 `r'[^\w\s]'` 匹配所有非字母数字和空白字符的字符,也就是标点符号。使用 `re.sub` 函数将所有匹配到的标点符号替换为空格。
最后,使用 `split` 方法按空格分割字符串,得到单词列表。使用 `len` 函数获取单词列表的长度,即单词个数。
需要注意的是,这个方法可能会将连字符(hyphen)误认为是句子中的一个单词,因为连字符通常用于连接单词,例如 "full-time"。如果需要正确地统计单词个数,可以将正则表达式修改为 `r'[^\w\s-]'`,将连字符也排除在外。
Python输入一个包含标点符号的英文句子,统计输出句子中的单词个数。
可以使用Python内置的字符串操作和正则表达式来实现。以下是一个示例代码:
```python
import re
sentence = input("请输入一个英文句子:")
# 删除标点符号
sentence = re.sub(r'[^\w\s]', '', sentence)
# 分割句子并统计单词个数
word_list = sentence.split()
word_count = len(word_list)
print("句子中的单词个数为:", word_count)
```
此代码中,首先通过`input()`函数获取用户输入的句子,然后使用正则表达式`re.sub()`函数删除句子中的标点符号。接着使用`split()`函数分割句子并得到单词列表,最后使用`len()`函数统计单词个数并输出结果。