这是我在此的头一篇博文。我是 Python 和一般编程的新手,所以我不确定我哪里出错了。这是我在 Project Euler 上针对问题 #52 提出的解决方案(我知道这也可能不是最好的方法)。我对这段代码的问题是 while 语句在得到正确答案时不会中断。只有当我以正确答案开始 num 时,它才会抓住它并给我答案:142857,但是当我用其他任何东西初始化它时,它会继续计数超过 142857。奇怪的是我使用了相同的确切方法来回答另一个欧拉问题,那个工作得很好。谁能告诉我为什么会在这里发生?谢谢!
def digits(number):
return [int(x) for x in str(number)]
def same_digits():
num = 1
x2 = sorted(digits(num*2))
x3 = sorted(digits(num*3))
x4 = sorted(digits(num*4))
x5 = sorted(digits(num*5))
x6 = sorted(digits(num*6))
while x2 != x3 != x4 != x5 != x6:
num += 1
print num