2016-03-27 8 views
0

私はProject Eulerを見つけました。 これはProblem 4のための私のコードです:プロジェクトオイラーprob。 4 in Python

def find(): 
    for a in range(999,99,-1): 
     for b in range(999,99,-1): 
      v = a * b 
      if str(v) == str(v)[::-1]: 
       print (v) 

私のコンソールは、しかしどんな結果が表示されていない:/を。誰も助けることができますか?

+2

定義した後のpythonで関数/メソッドを呼び出す必要があります"Project Euler prob 4"とあなたのコードのどこにでもこの 'find()'関数を呼んでいますか? – Selcuk

+1

コードに詳細を追加する必要があります。あなたはどんなアウトプットを期待していますか? – n1c9

答えて

0

This is problem 4 in project euler は、そしてあなたのコードのいくつかのわずかな変更で、それが実行されます。

def find(): 
    n = 0 
    for a in xrange(999, 100, -1): 
     for b in xrange(a, 100, -1): 
      x = a * b 
      if x > n: 
       s = str(a * b) 
       if s == s[::-1]: 
        n = a * b 
    print n 

find() 
+1

私はコーディングが新しく、bの範囲に対して "a"と "999"を入れたときにどのようにコードが実行されるかに違いがあるかどうか不思議でした。また、print関数の場合、なぜforループの外側に置くことが重要ですか?本当にありがとう! – Lowblow

+0

bの範囲にちょうど '999'を置くと、それは1つの数字に対して繰り返しテストされます。 'for'ループに' a'を置くと、毎回試行される番号が変更され、正しい答えが得られます。 :-)幸せなコーディング! – n1c9

+0

ありがとうございます:) – Lowblow

0

があなたの結果を表示するにはあなたはそれが何である

def find(): 
    for a in range(999,99,-1): 
     for b in range(999,99,-1): 
      v = a * b 
      if str(v) == str(v)[::-1]: 
       print (v) 

find() //Calls the function find() 
関連する問題