import itertools k = int(input("请输入整数:")) while k > 1: # 单个 num_set = [num for num in range(1, k+1)] arr_set = list(itertools.permutations(num_set, len(num_set))) # arr_set_1 = list(arr_set) # 各种情况删除 count = len(arr_set) for arr in arr_set: for i, num in enumerate(arr, 1): if num == i: count = count - 1 # arr_set_1.remove(arr) # 各种情况删除 break print("--------排序数:{}--------".format(k)) print("情况个数:", count) # print("各种情况", arr_set_1) k = k - 1 # 单个