Python输入一段英文句子,分解出其中的单词。(不包含空格和标点符号)
时间: 2024-05-04 07:17:52 浏览: 18
可以使用Python的字符串操作和正则表达式来实现这个功能。下面是一个例子代码:
```python
import re
sentence = input("请输入英文句子:")
# 使用正则表达式匹配单词
words = re.findall(r'\b\w+\b', sentence)
print("分解出的单词:")
for word in words:
print(word)
```
解释一下代码:
1. 首先,使用`input()`函数让用户输入一个英文句子,并将其存储在变量`sentence`中。
2. 接着,使用正则表达式`\b\w+\b`匹配单词。这个正则表达式表示:以单词边界开头,匹配一个或多个字母数字字符,以单词边界结尾。其中,`\b`表示单词边界,`\w`表示字母数字字符,`+`表示匹配一个或多个。
3. 使用`re.findall()`函数,在`sentence`中查找所有匹配的单词,并将它们存储在列表`words`中。
4. 最后,使用`for`循环遍历`words`列表,逐个输出单词。
相关问题
Python输入一行字符,分别统计出其中英文字母空格数字和标点符号的个数
好的,可以通过以下代码实现该功能:
```python
s = input("请输入一行字符:") # 输入字符串
letter = 0 # 统计字母个数
space = 0 # 统计空格个数
digit = 0 # 统计数字个数
punct = 0 # 统计标点符号个数
# 遍历字符串,判断每个字符的类型
for c in s:
if c.isalpha(): # 判断是否为字母
letter += 1
elif c.isspace(): # 判断是否为空格
space += 1
elif c.isdigit(): # 判断是否为数字
digit += 1
elif c in "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~": # 判断是否为标点符号
punct += 1
# 输出统计结果
print("字母个数:", letter)
print("空格个数:", space)
print("数字个数:", digit)
print("标点符号个数:", punct)
```
希望能解决你的问题。
用python 输入一个英语句子每个单词间用空格分割标点符号前无空格后面跟一个空格请将每个单词分行输出
以下是用 Python 实现的代码:
```python
sentence = input().strip()
punctuation = [".", ",", ";", ":", "!", "?"]
for i in range(len(sentence)):
if sentence[i] in punctuation:
sentence = sentence[:i] + " " + sentence[i] + " " + sentence[i+1:]
words = sentence.split()
for word in words:
print(word)
```
这段代码首先读取用户输入的英语句子,然后通过循环将标点符号前面加上一个空格,后面再跟上一个空格,这样就保证了每个单词间都有一个空格,并且标点符号前面没有空格。接着,使用 `split()` 函数将句子分割成单词,并通过循环输出每个单词,每个单词占一行。