需要Python str到morse的帮助
我正在写一个程序,输入一串字母/数字/标点符号,它的另一端会显示为莫尔斯电码。我遇到了一个我不知道如何修复的错误。错误是:需要Python str到morse的帮助,python,Python,我正在写一个程序,输入一串字母/数字/标点符号,它的另一端会显示为莫尔斯电码。我遇到了一个我不知道如何修复的错误。错误是: Enter a string of letters you want to have converted to Morse code: This Traceback (most recent call last): File "morse.py", line 151, in <module> main() File "morse.py", line 149, i
Enter a string of letters you want to have converted to Morse code: This
Traceback (most recent call last):
File "morse.py", line 151, in <module>
main()
File "morse.py", line 149, in main
print(letter)
NameError: name 'letter' is not defined
我做错了什么?您使用的是相等比较(=
),而不是赋值(=
)
但是,正如@agconti所指出的,词典显然是一条出路:
morse = {'a': '.-', 'b': '-...', ...}
for ch in letter_list:
letter = morse[ch.lower()]
您正在使用相等比较(=
)而不是赋值(=
)
但是,正如@agconti所指出的,词典显然是一条出路:
morse = {'a': '.-', 'b': '-...', ...}
for ch in letter_list:
letter = morse[ch.lower()]
您使用的是比较运算符而不是赋值运算符
==
用于比较(评估两个值是否相等)
对于赋值,它将右边的值赋值给左边的变量
你的ifs应该使用
==
这是正确的
但你的任务应该是
letter = "..."
以便将值“…”赋给变量字母。您使用的是比较运算符而不是赋值运算符
==
用于比较(评估两个值是否相等)
对于赋值,它将右边的值赋值给左边的变量
你的ifs应该使用
==
这是正确的
但你的任务应该是
letter = "..."
以便将值“…”分配给变量字母。这将用一个更面向对象的方法实现,如dict。这将用一个更面向对象的方法实现,如dict。一个小的add。在实际打印之前,您不需要先初始化字母吗?不,这就是python和其他动态语言的危险/美妙之处。虽然如果他们想要一个默认值,他们可以通过一个小的添加将其初始化为一些错误条件。在实际打印之前,您不需要先初始化字母吗?不,这就是python和其他动态语言的危险/美妙之处。不过,如果他们想要一个默认值,他们可以将其初始化为某种错误条件