Python 3 - 从摩尔斯电码翻译时如何将每个句子的第一个字母大写 [英] Python 3 - How to capitalize first letter of every sentence when translating from morse code

查看:57
本文介绍了Python 3 - 从摩尔斯电码翻译时如何将每个句子的第一个字母大写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将莫尔斯电码翻译成单词和句子,一切正常……除了一件事.我的整个输出都是小写的,我希望能够将每个句子的第一个字母大写.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆