在Python中,有没有办法计算煎饼排序过程中的翻转次数?

在Python中,有没有办法计算煎饼排序过程中的翻转次数?,python,sorting,Python,Sorting,我最近做了一个煎饼排序算法,现在我想精确地计算一下我给它排序的数字序列需要多少次翻转。例如,如果输入为2,1,3,则翻转计数将为1。我试图通过添加打印语句来实现这一点,但它似乎总是跳过至少一次没有给出正确答案的翻转 代码: print语句应该跟踪排序过程的每个步骤,但它没有。计算翻转次数并跟踪排序过程的最佳方法是什么?提前谢谢。您是如何计算翻转次数的?你能编辑你问题中的代码,让我们看看吗? def pancake_sort(nums): arr_len = len(nums)

我最近做了一个煎饼排序算法,现在我想精确地计算一下我给它排序的数字序列需要多少次翻转。例如,如果输入为2,1,3,则翻转计数将为1。我试图通过添加打印语句来实现这一点,但它似乎总是跳过至少一次没有给出正确答案的翻转

代码:


print语句应该跟踪排序过程的每个步骤,但它没有。计算翻转次数并跟踪排序过程的最佳方法是什么?提前谢谢。

您是如何计算翻转次数的?你能编辑你问题中的代码,让我们看看吗?
def pancake_sort(nums):
    arr_len = len(nums)
    
    while arr_len > 1:
        
        mi = nums.index(max(nums[0:arr_len]))
        nums = nums[mi::-1] + nums[mi+1:len(nums)]
        nums = nums[arr_len-1::-1] + nums[arr_len:len(nums)]
        print(nums) # This should print out every step in the process?
        arr_len -= 1
    return nums

user_input = input("Input numbers separated by a comma:\n").strip()
nums = [int(item) for item in user_input.split(',')]
print(pancake_sort(nums))