字典与列表大比拼中代码运行问题
原文网址: https://fishc.com.cn/thread-201013-1-1.html以下为原文粘贴:
def morsecode2(code):
# 摩斯密码对比表
c_table = [".-", "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"]
split_code = code.split(" ")
result = for each in split_code]
return result
import timeit
timeit.timeit("morsecode2(test_code)", setup="from __main__ import morsecode2, test_code")
使用的python版本:3.11.1
报错如下:
timeit.timeit("morsecode2(test_code)", setup="from __main__ import morsecode2, test_code")
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
timeit.timeit("morsecode2(test_code)", setup="from __main__ import morsecode2, test_code")
File "C:\Users\2023x's\AppData\Local\Programs\Python\Python311\Lib\timeit.py", line 234, in timeit
return Timer(stmt, setup, timer, globals).timeit(number)
File "C:\Users\2023x's\AppData\Local\Programs\Python\Python311\Lib\timeit.py", line 178, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 3, in inner
ImportError: cannot import name 'test_code' from '__main__' (unknown location)
你都没有定义 test_code 鱼油,你的代码报错是因为缺少了`test_code`变量的定义。`timeit`模块尝试从`__main__`中导入`test_code`,但没有找到相应的变量。你需要在代码中定义`test_code`并填入你想要测试的摩斯密码字符串。
示例修正如下:
def morsecode2(code):
# 摩斯密码对比表
c_table = {"....": "H", ".": "E", "-.--": "Y", ".---": "J", "..-": "U", "-..": "D"}
split_code = code.split(" ")
result = for each in split_code if each in c_table]
return result
import timeit
test_code = ".... . -.-- .--- ..- -.."
print(timeit.timeit("morsecode2(test_code)", setup="from __main__ import morsecode2, test_code"))
在这个示例中,我定义了一个基本的摩斯密码表`c_table`,并添加了`test_code`变量以便能够正常运行`timeit`的测试。你可以根据需要调整`c_table`来进行完整的摩斯密码翻译。如果有其他问题,请随时询问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]