我需要帮助我的程序,这里是链接:https://onlinegdb.com/L0dCYLf6X。我试图为嵌套字典中的每个主键绘制一个图。准确地说,主键是蛋白质,我试着用它们的结构域来画它们。问题是所有的图纸都是在一个窗口绘制的,并且是重叠的。第二个问题是,当我运行程序时,它不会停止-海龟一直在绘图-所以我猜这可能是一个无限循环?
我不知道如何修理它,所以如果有人能帮助我,我将非常感激。
很抱歉删除了评论,我认为这可能是一个真正的答案。
第一个用于重叠:
你在你的循环中使用相同的值为x_point_to_start和y_point_to_start。
这是什么意思?每次你画的东西都是从相同的位置开始的所以它们是重叠的。你可能想要计算一个绘图的宽度和高度并将其添加到你的变量中,这样下一个绘图就在它旁边了。
对于"无限循环":
它不是无限的,只是非常非常慢。
最外层的循环首先是遍历数据,假设它的长度是n,它内部的下一个循环是遍历数据,再次!到目前为止是O(N^2)然后你有一个for循环,它的值是分段迭代的值我们称之为分段=k)我们有O(k*N^2)接下来是另一个循环通过data[key]这个循环通过data[key]所以这是M^2然后是更多的循环…
结论:你的for循环需要更多的工作。试着在循环中做尽可能多的工作,不要重复它,在用例中循环一个平方的时间是不正常的,我相信你可能想要重新检查你的缩进(循环中的指令)。