下記[不完全]コードは長さ、N X の数でX-Nを取り、次pandigital数の値を返すように設計されています。このコードは、nとxの間の番号が、関数の引数として渡された番号に含まれていないことを特定し、(その時点で関数がさらに開発されるまで)、2つのリスト、元の番号自体個々のリストのメンバーとして数字、およびリストと、メンバーとしてXに番号Nと、長さの元の数がXNがTrueブール値によって置き換えられるで存在するそれらの数と。パイソン、リスト追加真のブール
def nextPandigital(n,lower,upper):
digits = []
requiredDigits = []
#Completed loop
for digit in str(n):
digits.append(int(digit))
#Completed loop
for num in range(lower,upper+1):
requiredDigits.append(num)
for number in requiredDigits:
if str(number) in str(digits):
x = requiredDigits.index(number)
#requiredDigits[x] = 'True'
requiredDigits[x] = True
return digits, requiredDigits
EnthoughtキャノピーにおけるnextPandigital(1023456789,0,9)
の入力パラメータのために、第二のリストは[True,True,True,True,True,True,True,True,True,True]
を読むべき戻さ、が、第二のリストの値は1からであり、実際には[True,1,True,True,True,True,True,True,True,True]
を返さ元requiredDigits
リストはTrue
に置き換えられていません。
私はループと全く問題、またはコードの一般的な流れは、コードのrequiredDigits[x] = True
行がコメントしており、現在、コメントコードがコメント解除され、それが意図されたように、コードが動作したときのために、存在しないことを知っていますrequiredDigits
内のすべての数字が文字列値「True.
」
によって置き換えられているとし、私はこの問題を解決しようと試みてきました。しかし、私はその原因を突き止めることができません。私は事実を考慮したTrue == 1
がTrueを返します。ただし、Trueの値がFalseに置き換えられた場合、requiredDigits[x] = True
のコードは意図したとおりに動作します。
この件に関する回答/助言/提案/アドバイスは高く評価されます。前もって感謝します。
* n *から* x *までの数字は、質問には与えられた数字* n *から与えられた数字* x *までのすべての数字が含まれることを意味します。 –