For the input of your function will be given one sentence. You have to return its fixed copy in a way so it’s always starts with a capital letter and ends with a dot.
Pay attention to the fact that not all of the fixes is necessary. If a sentence already ends with a dot then adding another one will be a mistake.
Input: A string.
Output: A string.
Example:
correct_sentence("greetings, friends") == "Greetings, friends."
correct_sentence("Greetings, friends") == "Greetings, friends."
correct_sentence("Greetings, friends.") == "Greetings, friends."
Precondition: No leading and trailing spaces, text contains only spaces, a-z A-Z , and .
对于您的功能输入将给出一个句子。您必须以某种方式返回其固定副本,因此它始终以大写字母开头并以点结尾。
注意并非所有修复都是必要的。如果一个句子已经以点结尾,那么添加另一个将是一个错误。
输入:一个字符串。
输出:一个字符串。
def correct_sentence(text: str) -> str:
"""
returns a corrected sentence which starts with a capital letter
and ends with a dot.
"""
# your code here
# code 1
# return text[0].upper() + text[1:] + ("." if text[-1] != "." else "")
# code 2
if text.endswith('.') and text[0].isupper():
return text
else:
if text[0].isupper():
return text + '.'
else:
return text[0].upper() + text[1:] + '.'
if __name__ == '__main__':
print("Example:")
print(correct_sentence("greetings, friends"))
# These "asserts" are used for self-checking and not for an auto-testing
assert correct_sentence("greetings, friends") == "Greetings, friends."
assert correct_sentence("Greetings, friends") == "Greetings, friends."
assert correct_sentence("Greetings, friends.") == "Greetings, friends."
assert correct_sentence("hi") == "Hi."
assert correct_sentence("welcome to New York") == "Welcome to New York."