python解决魔术师发牌问题
问题简介https://jingyan.baidu.com/article/0aa223755363c688cc0d6485.html
python的数据类型里没找到单循环链表的 又不想自己写 就用现成的列表类型改了下
参数是牌的长度 默认13
def p1(num=13):
list1 = *num
index = 0
count = 1# 翻牌次数
while 0 in list1:
if count == 1:
list1 = count
count += 1
continue
if count > 1:
for i in range(count):
index += 1
if index > len(list1)-1:
index -= len(list1)
while list1 != 0:
index += 1
if index > len(list1)-1:
index -= len(list1)
list1 = count
count += 1
return list1
确实不擅长搞这种烧脑的,没看你答案前我试着自己弄,。。。。。。。。。搞了30分钟才出来思路了{:10_266:}
max = 13
list = []
while True:
if len(list) == 0:
list.append(max)
elif len(list) == max:
break
else:
temp = max - len(list)
list.insert(0,temp)
count = temp -1
while count:
list.insert(0,list.pop())
count -= 1
print(list)
不想起变量名,用了内置的函数作为变量名{:10_250:}
页:
[1]