Python 让LED闪烁表示莫尔斯电码中的点或破折号
在python中使用ESP32,这是我的脚本。它所做的是你可以填写一些文本,它将转换成摩尔斯电码并显示出来。但我也希望led在短划线时闪烁一秒,在圆点时闪烁0,25秒 下面显示的脚本让我眨了眨眼。我想这是因为Python 让LED闪烁表示莫尔斯电码中的点或破折号,python,led,morse-code,esp32,Python,Led,Morse Code,Esp32,在python中使用ESP32,这是我的脚本。它所做的是你可以填写一些文本,它将转换成摩尔斯电码并显示出来。但我也希望led在短划线时闪烁一秒,在圆点时闪烁0,25秒 下面显示的脚本让我眨了眨眼。我想这是因为模式.match。我尝试了find()和findall但是我得到了这些输出 import morse Enter sentence: hi .... .. Traceback (most recent call last): File "<stdin>", line 1,
模式.match
。我尝试了find()
和findall
但是我得到了这些输出
import morse
Enter sentence: hi
.... ..
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "morse.py", line 82, in <module>
AttributeError: 'ure' object has no attribute 'findall'
你不需要正则表达式
import time
from machine import Pin
led=Pin(5,Pin.OUT)
BRate=0.25
def morse_dash():
led.value(1)
time.sleep(4*BRate)
led.value(0)
time.sleep(BRate)
def morse_pause():
time.sleep(BRate)
def morse_dot():
led.value(1)
time.sleep(BRate)
led.value(0)
time.sleep(BRate)
CODE = {' ': '_',
"'": '.----.',
'(': '-.--.-',
')': '-.--.-',
',': '--..--',
'-': '-....-',
'.': '.-.-.-',
'/': '-..-.',
'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 convertToMorseCode(sentence):
sentence = sentence.upper()
encodedSentence = ""
for character in sentence:
encodedSentence += CODE[character] + " "
return encodedSentence
while True:
sentence = input("Enter sentence: ")
encodedSentence = convertToMorseCode(sentence)
print(encodedSentence)
for i in encodedSentence:
if i == ".":
morse_dot()
elif i == "-":
morse_dash()
else:
morse_pause()
你不需要正则表达式
import time
from machine import Pin
led=Pin(5,Pin.OUT)
BRate=0.25
def morse_dash():
led.value(1)
time.sleep(4*BRate)
led.value(0)
time.sleep(BRate)
def morse_pause():
time.sleep(BRate)
def morse_dot():
led.value(1)
time.sleep(BRate)
led.value(0)
time.sleep(BRate)
CODE = {' ': '_',
"'": '.----.',
'(': '-.--.-',
')': '-.--.-',
',': '--..--',
'-': '-....-',
'.': '.-.-.-',
'/': '-..-.',
'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 convertToMorseCode(sentence):
sentence = sentence.upper()
encodedSentence = ""
for character in sentence:
encodedSentence += CODE[character] + " "
return encodedSentence
while True:
sentence = input("Enter sentence: ")
encodedSentence = convertToMorseCode(sentence)
print(encodedSentence)
for i in encodedSentence:
if i == ".":
morse_dot()
elif i == "-":
morse_dash()
else:
morse_pause()
正则表达式
匹配任何包含点和破折号的字符。更重要的是,为什么要使用正则表达式来检查单个字符的匹配?“为什么要使用列表理解来一次性调用函数并构建一个忽略的单元素列表?如果不循环encodedSentence
,你怎么会期望得到超过一次闪烁的东西呢?老实说,我刚开始使用Python。我知道的不多,所以我想我犯了很多错误。因为我搞不懂,所以我想在这里寻求一些帮助正则表达式
匹配任何包含点和破折号的字符。更重要的是,为什么要使用正则表达式来检查单个字符的匹配?“为什么要使用列表理解来一次性调用函数并构建一个忽略的单元素列表?如果不循环encodedSentence
,你怎么会期望得到超过一次闪烁的东西呢?老实说,我刚开始使用Python。我知道的不多,所以我想我犯了很多错误。因为我想不出来,我想我应该在这里寻求帮助
import time
from machine import Pin
led=Pin(5,Pin.OUT)
BRate=0.25
def morse_dash():
led.value(1)
time.sleep(4*BRate)
led.value(0)
time.sleep(BRate)
def morse_pause():
time.sleep(BRate)
def morse_dot():
led.value(1)
time.sleep(BRate)
led.value(0)
time.sleep(BRate)
CODE = {' ': '_',
"'": '.----.',
'(': '-.--.-',
')': '-.--.-',
',': '--..--',
'-': '-....-',
'.': '.-.-.-',
'/': '-..-.',
'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 convertToMorseCode(sentence):
sentence = sentence.upper()
encodedSentence = ""
for character in sentence:
encodedSentence += CODE[character] + " "
return encodedSentence
while True:
sentence = input("Enter sentence: ")
encodedSentence = convertToMorseCode(sentence)
print(encodedSentence)
for i in encodedSentence:
if i == ".":
morse_dot()
elif i == "-":
morse_dash()
else:
morse_pause()