Python输入一个英文句子,每个单词间用空格分隔,标点符号前面无空格,后面跟一个空格,请按出现顺序将每个单词分行输出(标点符号归属于前面的单词)。
时间: 2024-03-12 12:42:58 浏览: 24
这个问题和之前的问题一样,只需要稍微修改一下输出的逻辑就可以了。下面是一个实现该功能的 Python 程序:
```python
sentence = input("请输入一个英文句子:")
words = sentence.split()
for i in range(len(words)):
# 如果当前单词的最后一个字符是标点符号
if words[i][-1] in [".", ",", "!", "?", ";", ":" ]:
# 如果当前单词不是句子的最后一个单词
if i != len(words) - 1:
print(words[i][:-1])
print(words[i][-1])
# 如果当前单词是句子的最后一个单词
else:
print(words[i][:-1])
# 如果当前单词不是标点符号
else:
print(words[i])
```
这个程序和之前的程序有所不同。如果当前单词的最后一个字符是标点符号,我们需要判断当前单词是否是句子的最后一个单词。如果当前单词不是句子的最后一个单词,我们需要将当前单词分成两部分输出,即单词中去掉标点符号部分和标点符号部分。如果当前单词是句子的最后一个单词,我们只需要将单词中去掉标点符号部分输出即可。如果当前单词不是标点符号,则直接输出当前单词。
相关问题
输入一个英文句子,每个单词间用空格分隔,标点符号前面无空格,后面跟一个空格,请将每个单词分行输出。python
代码如下:
```python
sentence = input("请输入一个英文句子:")
words = sentence.split() # 以空格为分隔符将句子分成单词
for word in words:
print(word)
```
这个代码会首先让你输入一个英文句子,然后使用 `split` 函数将句子分割成若干个单词。然后使用 `for` 循环,对每个单词进行处理,在每个单词后面输出一个换行符,这样每个单词就会分别单独占一行。
用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()` 函数将句子分割成单词,并通过循环输出每个单词,每个单词占一行。