Python Forum
I always get 'None' returned. Confused. What did I miss? - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: I always get 'None' returned. Confused. What did I miss? (/thread-17325.html)



I always get 'None' returned. Confused. What did I miss? - jpezz - Apr-07-2019

import random


# Morse Code string translator
# delimited with spaces for characters, and / for words
# format example "HELLO WORLD": .... . .-.. .-.. --- / .-- --- .-. .-.. -..
def untranslate_morse_code_string(code_string):

    InvertmorseAlphabet = {

        " ": "/", "A": ".-", "C": "-.-.", "B": "-...", "E": ".", "D": "-..",
        "G": "--.", "F": "..-.", "I": "..", "H": "....", "K": "-.-", "J": ".---",
        "M":  "--", "L": ".-..","O": "---", "N": "-.", "Q": "--.-", "P": ".--.",
        "S": "...", "R": ".-.", "U": "..-", "T": "-", "W": ".--", "V": "...-",
        "Y": "-.--", "X": "-..-", "Z": "--..",
        "1": ".----", "2": "..---", "3": "...--", "4": "....-", "5": ".....",
        "6": "-....", "7": "--...", "8": "---..", "9": "----.", "0": "-----"
    }
    print (InvertmorseAlphabet)
    print (code_string)


def translate_morse_code_string(code_string):

    morseAlphabet = {
        "/": " ", ".-": "A", "-.-.": "C", "-...": "B", ".": "E", "-..": "D",
        "--.": "G", "..-.": "F", "..": "I", "....": "H", "-.-": "K", ".---": "J",
        "--":  "M", ".-..": "L","---": "O", "-.": "N", "--.-": "Q", ".--.": "P",
        "...": "S", ".-.": "R", "..-": "U", "-": "T", ".--": "W", "...-": "V",
        "-.--": "Y", "-..-": "X", "--..": "Z",
        ".----": "1", "..---": "2", "...--": "3", "....-": "4", ".....": "5",
        "-....": "6", "--...": "7", "---..": "8", "----.": "9", "-----": "0"
    }



Consonant = [ 'B', 'C', 'D', 'F',  'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P',  'Q', 'W', 'X', 'Z']
Vowel = ['A', 'E', 'I', 'O', 'U', 'Y'] # Sometimes y and w. Need more vowels
Number = [ '0', '1', '2', '3',  '4', '5', '6', '7', '8', '9' ]
#
# This below works
#
input_msg=random.choice(Vowel)+random.choice(Number)+random.choice(Consonant)
string_len=len(input_msg)
print(input_msg,string_len)
#
# End of this works
#
x=input_msg[2]
character_output = untranslate_morse_code_string(x)
print (x, character_output)
#
#What happens if I force a particular letter
#
x='G'
character_output = untranslate_morse_code_string(x)
print (x, character_output)
#
#What happens if I use the translate on a particular code
#
x="..."
character_output = translate_morse_code_string(x)
print (x, character_output)



RE: I always get 'None' returned. Confused. What did I miss? - ichabod801 - Apr-07-2019

You need a return statement. If you don't explicitly return something with a return statement, None is returned by default. Your functions don't seem to be doing anything, so I'm not sure exactly what they should return.


RE: I always get 'None' returned. Confused. What did I miss? - jpezz - Apr-07-2019

Duh!

This is what happens when you copy and modify a routine.

I left off all the code. I wasn't paying attention to what I was doing and was overtired.

Thanks. It works fine with the rest of the code in it.