摩尔斯电码到英语Python

时间:2018-05-23 04:32:54

标签: python python-3.1

我正在制作一个程序,将摩尔斯电码解密为英文。但是,当程序运行并且我将摩尔斯电码放入(例如* - 这应该导致程序打印出“A”)时,程序只给出一个空格。

message = input("Please type a message to encrypt. ")
new_message = ""
letters = {"*-": "A",
           "-***": "B",
           "-*-*": "C"}
for let in message:
    if let in letters:
        new_message += letters[let]
print(new_message)         

我正在寻找一种方法来解决这个问题,方法是使用上面的替换方法。谢谢。

2 个答案:

答案 0 :(得分:0)

我认为您的输入与此*-/-***类似,因此每个字母都以/分隔。

#split every letter into list of letters
message = input('Please type a message to encrypt: ').split('/')
#join the list after decrypt it
print("".join([letters[letter] for letter in message]))

答案 1 :(得分:-1)

这是一个解决方案:

class PollsList extends Component {
    constructor() {
        super();
        this.state = {
            polls: []
        }

        this.fetchPolls = this.fetchPolls.bind(this);
    }
    componentDidMount() {
        $.ajax({
            url: "/mypolls",
            type: 'get',
            dataType: 'json',
            contentType: 'application/json',
            success: (polls_list)=>this.fetchPolls(polls_list), // this must look like that.
            error: (err, status, xhr) =>{
                console.log(err);
            }
        });
    }

    fetchPolls(polls_list){
        for (let i = 0; i < polls_list.length; i++) {
            let data = polls_list[i].poll[0];
            this.setState({polls:data});
        }
    }
    render() {
        console.log(this.state.polls);
        return (
            <Fragment>
                <div className='container'>
                    <ul id='polls_list'>{this.state.polls.option1} {this.state.polls.option2}</ul>
                </div>
            </Fragment>
        )
    }
}

输入message = input("Please type a message to encrypt: ") new_message = "" letters = {".-": "A", "-...": "B", "-.-.": "C",} if letters[message]: new_message = letters[message] else: new_message = "This cannot be turned to morse code" print(new_message) 将返回.-

相关问题