2016-03-27 3 views
0

Я наткнулся на Project Euler. Это мой код для Problem 4:Project Euler prob. 4 в 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

Что такое «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

Я новичок в кодировании, поэтому мне было просто любопытно, было ли какое-то различие в том, как будет работать код при установке «a» или «999» для диапазона b. Кроме того, для функции печати, почему это важно, чтобы вывести ее из цикла for? Спасибо! – Lowblow

+0

, помещая только '999' в диапазон b, проверяет его только на одно число, повторно. Помещая 'a' в цикле' for', меняет число, которое проверяется каждый раз, что дает вам правильный ответ. :-) счастливое кодирование! – n1c9

+0

большое спасибо :) – Lowblow

0

Для отображения результата необходимо вызвать функцию/метод в 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) 

find() //Calls the function find()