2016-03-27 11 views
0

Proje Euler'e rastladım. Bu Problem 4 benim kodudur:Proje Euler prob. Python'da

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) 

Benim konsol olsa herhangi bir sonuç görüntüleniyor değildir: /. Biri yardım edebilir mi?

+2

tanımlayan sonra Python fonksiyon/yöntemini çağırmanız gerekir “Project Euler prob. 4” ve bu 'find()' işlevini kodunuzun herhangi bir yerinde mi çağırıyorsunuz? – Selcuk

+1

kodunuza biraz daha ayrıntı eklemeniz gerekiyor. Ne çıktı bekliyorsunuz? – n1c9

cevap

0

This is problem 4 in project euler , ve kod bazı küçük değişiklikler içeren bu çalıştırır:

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

Kodlama konusunda yeniyim, bu yüzden kodun b için "999" a karşı koyarken kodun nasıl çalışacağı konusunda bir fark olup olmadığını merak ettim. Ayrıca, yazdırma işlevi için, bunu for döngüsünün dışına çıkarmak neden önemlidir? Çok teşekkürler! – Lowblow

+0

sadece b 999’ları b testlerine geçirir, tekrar tekrar sadece bir sayıya karşılık verir. 'for' döngüsüne 'a' koymak her seferinde denenen sayıyı değiştirir ve bu size doğru cevabı verir. :-) mutlu kodlama! – n1c9

+0

çok teşekkürler :) – Lowblow

0

sonucunuzu görüntülemek için bunu Nedir

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() 
İlgili konular