저는 문자, 숫자 및 문자를 가져 와서 모스 코드로 변환하는 프로그램을 파이썬으로 작성했습니다. 이 프로그램은 제 나무 딸기 파이를 위해 작성되었으며 LED 플래시를 켜고 끕니다. 문제는 사용자가 각 문자를 입력 한 후 Enter 키를 눌러야하는 순간입니다. 사용자가 전체 단어와 문장을 입력 할 수 있도록 만들고 싶습니다. 그런 다음 모스 코드에서 문장이 튀어 나오지 만 단어를 어기는 방법을 모르겠습니다. 여기 어떻게 파이썬에서 단어를 분해합니까?
아래의 코드는, 당신이 그것을 이해하고 나를 도울 수 있기를 바랍니다 있습니다 :print'Welcome to the Morse translator'
print'Enter the characters one by one pressing enter each time'
print'Enter the GPIO pin number that you would like to use'
pin = int (input())
while True:
name = raw_input("Enter a letter, number or character to see it in morse: ")
print name
import RPi.GPIO as gpio
import time
gpio.setmode(gpio.BCM)
gpio.setup(pin, gpio.OUT)
def dot():
gpio.output(pin, gpio.HIGH)
time.sleep(0.25)
gpio.output(pin, gpio.LOW)
time.sleep(0.25)
def dash():
gpio.output(pin, gpio.HIGH)
time.sleep(0.75)
gpio.output(pin, gpio.LOW)
time.sleep(0.25)
def e():
time.sleep(0.75)
if (name=='a'):
dot()
dash()
e()
elif (name=='b'):
dash()
dot()
dot()
dot()
e()
elif (name=='c'):
dash()
dot()
dash()
dot()
e()
elif (name=='d'):
dash()
dot()
dot()
e()
elif (name=='e'):
dot()
e()
elif (name=='f'):
dot()
dot()
dash()
dot()
e()
elif (name=='g'):
dash()
dash()
dot()
e()
elif (name=='h'):
dot()
dot()
dot()
dot()
e()
elif (name=='i'):
dot()
dot()
e()
elif (name=='j'):
dot()
dash()
dash()
dash()
e()
elif (name=='k'):
dash()
dot()
dash()
e()
elif (name=='l'):
dot()
dash()
dot()
dot()
e()
elif (name=='m'):
dash()
dash()
e()
elif (name=='n'):
dash()
dot()
e()
elif (name=='o'):
dash()
dash()
dash()
e()
elif (name=='p'):
dot()
dash()
dash()
dot()
e()
elif (name=='q'):
dash()
dash()
dot()
dash()
e()
elif (name=='r'):
dot()
dash()
dot()
e()
elif (name=='s'):
dot()
dot()
dot()
e()
elif (name=='t'):
dash()
e()
elif (name=='u'):
dot()
dot()
dash()
e()
elif (name=='v'):
dot()
dot()
dash()
e()
elif (name=='w'):
dot()
dash()
dash()
e()
elif (name=='x'):
dash()
dot()
dot()
dash()
e()
elif (name=='y'):
dash()
dot()
dash()
dash()
e()
elif (name=='z'):
dash()
dash()
dot()
dot()
e()
elif (name=='1'):
dot()
dash()
dash()
dash()
dash()
e()
elif (name=='2'):
dot()
dot()
dash()
dash()
dash()
e()
elif (name=='3'):
dot()
dot()
dot()
dash()
dash()
e()
elif (name=='4'):
dot()
dot()
dot()
dot()
dash()
e()
elif (name=='5'):
dot()
dot()
dot()
dot()
dot()
e()
elif (name=='6'):
dash()
dot()
dot()
dot()
dot()
e()
elif (name=='7'):
dash()
dash()
dot()
dot()
dot()
e()
elif (name=='8'):
dash()
dash()
dash()
dot()
dot()
e()
elif (name=='9'):
dash()
dash()
dash()
dash()
dot()
e()
elif (name=='0'):
dash()
dash()
dash()
dash()
dash()
e()
elif (name=='.'):
dot()
dash()
dot()
dash()
dot()
dash()
e()
elif (name==','):
dash()
dash()
dot()
dot()
dash()
dash()
e()
elif (name==':'):
dash()
dash()
dash()
dot()
dot()
dot()
e()
elif (name=='?'):
dot()
dot()
dash()
dash()
dot()
dot()
e()
elif (name=='-'):
dash()
dot()
dot()
dot()
dot()
dash()
e()
elif (name=='/'):
dash()
dot()
dot()
dash()
dot()
e()
elif (name=='(' or ')'):
dash()
dot()
dash()
dash()
dot()
dash()
e()
elif (name=='@'):
dot()
dash()
dash()
dot()
dash()
dot()
e()
elif (name=='='):
dash()
dot()
dot()
dot()
dash()
e()
elif (name==' '):
e()
e()
e()
e()
e()
e()
e()
else:
print'This character is not supported'
gpio.cleanup()
r 여기에 'elif'를 많이 쓰는 것보다 사전을 사용하는 것. 'd '(문자) :'(점, 대시), 'b': [대쉬, 점, 점, 점], ...} – jonrsharpe