python中的shuffle数字比较

时间:2017-08-29 16:42:24

标签: python-3.x math

我想知道我的代码有什么问题。 我试图让计算机洗牌,直到它与A和B匹配。

from math import floor
import random

count = 0;
a = '1 2 3'.split()
b = '3 2 1'.split()

def shuffler(x,y):
    random.shuffle(x)
    random.shuffle(y)

def compare_deck(x,y):
    if x == y:
        return False
    else:
        return True

while True:
    shuffler(a,b)
    compare_deck(a,b)
    count += 1
    continue

else:
    print('It took {} times of shuffle to be the same 
    arrangement.'.format(count))

1 个答案:

答案 0 :(得分:0)

你的while循环是一个无限循环,因为你没有使用compare_deck的结果。当compare_deck返回True时,您想要退出循环,因此,您的while会变为:

while True:
    shuffler(a,b)
    count += 1
    if compare_deck(a,b):
        break

我也删除了continue,因为它是多余的。