내 프로그램을 일시 중지하는 방법을 알아 내려고하고 있습니다. 방법 encodeMesssage
은 잘 작동하고 각 문자를 해당 모스 부호로 바꿉니다. 편지 끝에 도달하면 [lpause]
편지가 일시 중지됩니다. 그런 다음 완전한 단어를 완성하면 [wpause]
단어를 일시 중지합니다.파이썬 모스 코드 일시 중지
두 번째 방법은이 메시지를 windsound 모듈을 사용하여 실제 소리로 바꾸기로되어 있습니다. 경고음이 정상적으로 작동하고 있는데, 제 문제는 [lpause]
및 [wpause]
이 작동하지 않는 것입니다. .. lpause] --- [lpause - 여기
def encodeMessage(m):
message = m.upper().strip()
encodedMessage =''
isInWord = False
for ch in message:
if isInWord:
if ch in morseCode:
encodedMessage += '[lpause]'+ morseCode[ch]
else:
encodedMessage += '[wpause]'
isInWord = False
else: # not in word
if ch in morseCode:
encodedMessage += morseCode[ch]
isInWord = True
else:
pass # nothing to do
return encodedMessage
def sendMoreCodedMessage(message):
for ch in message:
if ch == '.':
winsound.Beep(200, 100)
elif ch == '-':
winsound.Beep(370, 100)
else:
time.sleep(1)
return None
morseCode = {'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':'--..','1':'.----','2':'..---','3':'...--', '4':'....-','5':'.....','6':'-....','7':'--...', '8':'---..','9':'----.','0':'-----' }
encodeMessage
... [lpause] lpause] -.-- [wpause]로부터의 출력의 예는 ] - [wpause] ---- [lpause] - - [lpause] ..- [wpause] - [lpause] - .. [lpause] --- [lpause] ] - [lpause] -. [lpause] --- [lpause]. - '-
당신은하지 주석으로, 문제의 텍스트에서 여분의 정보를 추가해야합니다. – manecosta
_ "내 문제는 [lpause]와 [wpause]가 행동하지 못하는 것입니다."_ <- 이것은 매우 모호한 정보입니다. 원하는 행동과 실제 행동을 자세하게 설명 할 수 있습니까? – Carsten
예, [lpause]는 1 초 동안 일시 중지 된 다음 for 루프가 계속 실행되어야합니다. 그리고 - 경고음. 그런 다음 두 단어 사이를 구별하기 위해 약 3 초 동안 단어 [wpause]를 일시 중지해야합니다. 그러나 지금은 1 초 동안 같은 시간에 작업을 시작하고 일시 중지했습니다. 예를 들어, ..- 일시 중지 l 일시 중지 p 일시 중지 일시 중지 일시 중지 일시 정지 일시 중지. 전체적으로 [lpause]를 가져 와서 편지 대신 편지로 멈추게하고 싶습니다. [lpause]를 읽으면 잠시 멈추고 계속됩니다. – Crunch