Python 3 - 从摩尔斯电码翻译时如何将每个句子的第一个字母大写 [英] Python 3 - How to capitalize first letter of every sentence when translating from morse code
问题描述
我正在尝试将莫尔斯电码翻译成单词和句子,一切正常……除了一件事.我的整个输出都是小写的,我希望能够将每个句子的第一个字母大写.
I am trying to translate morse code into words and sentences and it all works fine... except for one thing. My entire output is lowercased and I want to be able to capitalize every first letter of every sentence.
这是我当前的代码:
text = input()
if is_morse(text):
lst = text.split(" ")
text = ""
for e in lst:
text += TO_TEXT[e].lower()
print(text)
拆分列表中的每个元素都等于一个字符(但在莫尔斯语中)而不是单词.'TO_TEXT' 是一本字典.有没有人有一个简单的解决方案?顺便说一句,我是编程和 Python 的初学者,所以我可能不明白一些解决方案......
Each element in the split list is equal to a character (but in morse) NOT a WORD. 'TO_TEXT' is a dictionary. Does anyone have a easy solution to this? I am a beginner in programming and Python btw, so I might not understand some solutions...
推荐答案
维护一个标志,告诉您这是否是新句子的第一个字母.用它来决定字母是否应该大写.
Maintain a flag telling you whether or not this is the first letter of a new sentence. Use that to decide whether the letter should be upper-case.
text = input()
if is_morse(text):
lst = text.split(" ")
text = ""
first_letter = True
for e in lst:
if first_letter:
this_letter = TO_TEXT[e].upper()
else:
this_letter = TO_TEXT[e].lower()
# Period heralds a new sentence.
first_letter = this_letter == "."
text += this_letter
print(text)
这篇关于Python 3 - 从摩尔斯电码翻译时如何将每个句子的第一个字母大写的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!