def task(): # 小孩分糖果问题 blocks = [10, 2, 8, 22, 16, 4, 10, 6, 14, 20] blocks2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 偏移量 size = len(blocks) Flag = True count = 0 while Flag: for i in range(0, size): if blocks[i] % 2 != 0: blocks[i] += 1 # print(blocks) # print('breakpoint') next_p = 0 for j in range(0, size): if j > size - 2: next_p = 0 else: next_p += 1 blocks2[next_p] = blocks[j] / 2 blocks[j] /= 2 # print(blocks2) # print(blocks) # print('breakpoint') for k in range(0, size): blocks[k] += blocks2[k] # print('breakpoint') count += 1 print("第%d轮交换后,排序的结果是%s" % (count, blocks)) if sum(blocks) % 10 == 0 and blocks[0] == blocks[1] == blocks[2] == blocks[3]: # print(count) Flag = False # 一共交换了17次 每个小孩获取到了18块糖 if __name__ == '__main__': task()
这边建议你把 文字描述贴出来。
而且python是强格式语言。
你这样纯文本贴出来看不了。
请问你的格式呢
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632