编写读取测试文件“T1”内容的代码,并用10,000随机字典的随机字典记录婴儿床与“T1”翻译之间的最小汉明距离。使用matplotlib.pyplot.hist绘制结果的直方图。
我已经有了记录最小汉明距离的功能,翻译了“T1”,并且还制作了随机词典,但我不知道如何使用它来使用matplotlib为10,000个字典制作直方图。
我在想
plt.hist(min_ham_dist("crib",trans_cipher(T1,rand_dict())))
应该在某处使用,因为这些是我的函数的名称。
答案 0 :(得分:-1)
您必须生成最小汉明距离值的数组或列表。例如(在Jupyter中测试):
import random
import matplotlib.pyplot as plt
##### This block is only dummy methods so that is compatible with your example
def rand_dict(): return None
def trans_cipher(a, b): return None
def min_ham_dist(a, b): return random.randint(0, 1000)
T1 = None
#####
arr = [min_ham_dist("crib",trans_cipher(T1,rand_dict())) for i in range(10000)] # This is the important point
plt.hist(arr, bins=20)
plt.show()
在这种情况下,我使用List Comprehension(PEP 202)来快速构建随机值列表。结果应该是这样的: