python对于输入的一句仅由英文单词、空格和标点符号组成的句子,先将标点符号及空格删去,再将得到的英文字符串颠倒顺序输出。
时间: 2023-06-18 10:06:52 浏览: 47
可以使用字符串的split()方法将句子拆分为单词,并使用join()方法将单词连接成一个新的字符串。然后使用字符串的replace()方法将标点符号和空格删除,使用[::-1]将字符串颠倒顺序,最后输出结果。
示例代码如下:
```
s = input("请输入一句仅由英文单词、空格和标点符号组成的句子:")
words = s.split() # 拆分为单词
new_s = "".join(words) # 将单词连接成一个新的字符串
new_s = new_s.replace(" ", "").replace(",", "").replace(".", "").replace("!", "").replace("?", "") # 删除标点符号和空格
result = new_s[::-1] # 颠倒顺序
print(result)
```
注意:这里只删除了常见的标点符号和空格,如果需要删除其他符号,可以在replace()方法中加入相应的符号。
相关问题
Python输入一段英文句子,分解出其中的单词。(不包含空格和标点符号)
可以使用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 实现的代码:
```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()` 函数将句子分割成单词,并通过循环输出每个单词,每个单词占一行。