Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要Python str到morse的帮助_Python - Fatal编程技术网

需要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和其他动态语言的危险/美妙之处。不过,如果他们想要一个默认值,他们可以将其初始化为某种错误条件