from time import sleep import robot POWER = 50 TURN_T = 0.08 # 10 degrees RIGHT_WHEEL_OFFSET = 4 CLOCKWISE_OFFSET = 0.82 MORSE = { "0": "-----", "1": ".----", "2": "..---", "3": "...--", "4": "....-", "5": ".....", "6": "-....", "7": "--...", "8": "---..", "9": "----.", "a": ".-", "b": "-...", "c": "-.-.", "d": "-..", "e": ".", "f": "..-.", "g": "--.", "h": "....", "i": "..", "j": ".---", "k": "-.-", "l": ".-..", "m": "--", "n": "-.", "o": "---", "p": ".--.", "q": "--.-", "r": ".-.", "s": "...", "t": "-", "u": "..-", "v": "...-", "w": ".--", "x": "-..-", "y": "-.--", "z": "--..", ".": ".-.-.-", ",": "--..--", "?": "..--..", "!": "-.-.--", "-": "-....-", "/": "-..-.", "@": ".--.-.", "(": "-.--.", ")": "-.--.-" } def short_wiggle(arlo): arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 0) sleep(TURN_T * CLOCKWISE_OFFSET) arlo.stop() sleep(0.2) arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1) sleep(TURN_T) arlo.stop() def long_wiggle(arlo): arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 0) sleep(TURN_T * CLOCKWISE_OFFSET * 2) arlo.stop() sleep(0.3) arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1) sleep(TURN_T * 2) arlo.stop() def main(): # Initializes the robot and runs the arlo = robot.Robot() text = input() for word in text.split(" "): for character in word: morse_code = MORSE[character] for morse_character in morse_code: if morse_character == ".": short_wiggle(arlo) else: long_wiggle(arlo) sleep(0.2) sleep(0.5) sleep(1) if __name__ == "__main__": main()