Python 输入英文句子并输出单词个数及单词分行显示

在使用 Python 编程时,有时候我们需要对输入的英文句子进行单词计数,并按照单词进行分行输出。这通常可以通过使用 Python 的内置库 `re`(正则表达式)来实现。以下是一个简单的 Python 脚本,它能够实现这一功能:

python

import re

# 输入英文句子

sentence = input("请输入一个英文句子:")

# 使用正则表达式匹配单词,并计算单词个数

word_count = len(re.split('\W+', sentence))

# 分行输出每个单词

for word in re.split('\W+', sentence):

print(word, end=' ')

# 输出单词个数

print()

print(f"该句子的单词个数为:{word_count}")

在这个脚本中,我们首先导入了 `re` 库,然后使用 `input()` 函数获取用户输入的英文句子。接着,我们使用 `re.split()` 函数按照非单词字符(\W+)将句子分割成单词列表。`re.split()` 的第一个参数是一个正则表达式模式,它匹配任何非单词字符,包括空格、标点符号等。

然后,我们使用 `len()` 函数计算单词列表的长度,这代表了句子的单词个数。最后,我们使用一个 `for` 循环将单词列表中的每个单词打印出来,并在单词之间添加一个空格。

请注意,这个脚本假设你是在 Anaconda 环境下运行的,并且已经安装了 `re` 库。如果你是在普通的 Python 环境中运行,你需要确保 `re` 库已经安装。你可以在终端或命令提示符中输入 `pip install regex` 来安装 `re` 库。

在运行这个脚本时,请确保你输入的是一个英文句子,并且包含一些标点符号,这样 `re.split()` 才能正确地分割单词。如果你输入的句子没有标点符号,那么 `re.split()` 会将整个句子视为一个单词。

更多文章请关注《万象专栏》