1

Python とプログラミング全般について非常に不慣れです。

指定された制限まで回文数のリストを生成する関数を作成しようとしています。

次のコードを実行すると、空のリスト [] が返されます。なぜそうなのかは不明です。

def palin_generator():
    """Generates palindromic numbers."""

    palindromes=[]
    count=0
    n=str(count)

    while count<10000:
        if n==n[::-1] is True:
            palindromes.append(n)
            count+=1
        else:
            count+=1

    print palindromes  
4

3 に答える 3

0

あなたのifブロックnは が回文であるかどうかをチェックし、 の値はn決して変化しません。割り当てられるのは 1 回だけです。

is Trueまた、冗長なため、その部分を削除できます。

しかし、それはあなたの問題の根本ではありません。if実際、あなたが失敗している理由は演算子の優先順位です。あなたが今書いたことは、 which if n==(n[::-1] is True):is と同等でありif n==False:、これは決して起こらないでしょう。

于 2013-07-02T20:41:52.327 に答える