내 질문은 내가 오일러 145의 올바른 경로를 따라 내려가는 경우이며, 효율성면에서는 다소 효율적입니다. 나는 그것의 대부분을 가지고있다, 나의 Defs 중 하나는 나에게 int check (str (마비) [: i]) % 2 == 0으로 문제를주고있다. 내 코드는 아래 있습니다. 10 호선이 문제 지점입니다Python : Project Euler 145
def reversed(reg): # to flip the number around
fliped = str(reg)[::-1];
return(int(fliped)); # Return it as a int.
def allEvenDigits(numb): # This is the issue one
hasEvenNumb = False;
for i in range(0, len(str(numb))):
if int(str(numb)[:i])%2 == 0: # if int of the string numb's char at i is even
hasEvenNumb = True; ## return that it is true
break; # why go on if we found a even.
return(hasEvenNumb);
for i in range(1, 1000): # its 1000 to save a few minutes
revNumb = reversed(i);
total = revNumb+i;
if(allEvenDigits(total)):
print(i, "+" , revNumb, "=",Total);
PLE 예를 들어, 당신은
36
다음63
를 해결 할 이유가 없다 해결 한 경우 파이썬에서는';'을 사용하지 않습니다. 그것은'str (1234) [: 0]'이 –인 것을 보게됩니다. 또한'reversed'는 내장 함수입니다. 당신은 그것을 덮어 써서는 안됩니다. – Volatility