设计一个句子Sentence类。要求构造方法接受一个字符串参数。创建一个实例变量,用于将句子存储为字符串。假设句子中没有标点符号,每个单词之间有空格。 编写以下方法: (1)getSectence:将句子以字符串的形式返回 (2)getWords:返回句子中包含的单词列表 (3)getLength:返回句子中包含的字符数 (4)getNumWords:返回句子中包含的单词数 (5)setSentence:将句子中的所有字母更改为大写字母 (6) __str__():返回句子的描述信息字符串。返回两行信息,第一行为句子及字符数,第二行为单词列表和单词数。 例如:假设输入的句子为是Starting Out with Python,则返回的字符串为: 输入的字符串是:Starting Out with Python,共有24个字符。 其中有单词:['Starting', 'Out', 'with', 'Python'],共有4个单词。
时间: 2023-12-03 15:42:06 浏览: 528
以下是一个实现上述要求的Python代码:
```
class Sentence:
def __init__(self, sentence):
self.sentence = sentence
def getSentence(self):
return self.sentence
def getWords(self):
return self.sentence.split()
def getLength(self):
return len(self.sentence)
def getNumWords(self):
return len(self.getWords())
def setSentence(self):
self.sentence = self.sentence.upper()
def __str__(self):
words = self.getWords()
num_words = self.getNumWords()
return f"输入的字符串是:{self.getSentence()},共有{self.getLength()}个字符。\n其中有单词:{words},共有{num_words}个单词。"
```
我们可以测试一下这个类的各种方法:
```
s = Sentence("Starting Out with Python")
print(s.getSentence()) # Starting Out with Python
print(s.getWords()) # ['Starting', 'Out', 'with', 'Python']
print(s.getLength()) # 24
print(s.getNumWords()) # 4
s.setSentence()
print(s.getSentence()) # STARTING OUT WITH PYTHON
print(s)
# 输入的字符串是:Starting Out with Python,共有24个字符。
# 其中有单词:['Starting', 'Out', 'with', 'Python'],共有4个单词。
```
阅读全文