これが私の最初の投稿です。私はPythonとプログラミング全般に慣れていないので、どこが間違っていたのかわかりません。これは私がプロジェクトオイラーの問題#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