【发布时间】:2019-06-06 14:32:00
【问题描述】:
我正在用Turtle 在Python3 中编写一个简单的应用程序。它可视化quicksort 算法。我想改进我的应用程序,以便通过等待用户点击来展示算法的每一步。
我在算法中间尝试了简单的input(),但这要求控制台在应用程序窗口进入后台时处于活动状态。
现在我正在尝试使用onscreenclick(),但是当算法到达某个点时,它会停止侦听鼠标事件。
我该怎么做?有没有其他方法可以做到这一点?
def partition(array, start, end):
global clickedFlag
pivotIndex = start
pivotValue = array[end]
for i in range(start, len(array) - 1):
if array[i] < pivotValue:
if clickedFlag:
swap(array, i, pivotIndex)
pivotIndex += 1
clickedFlag = False
else:
while clickedFlag == False:
onscreenclick(clicked)
listen()
swap(array, pivotIndex, end)
return pivotIndex
def clicked(x,y):
global clickedFlag
clickedFlag = True
return clickedFlag
【问题讨论】:
标签: python recursion quicksort turtle-graphics