이것은 내 첫 번째 게시물입니다. 저는 파이썬과 프로그래밍에 익숙하지 않아 어디서 잘못되었는지 모르겠습니다. 이것은 Project Euler의 Problem # 52에 대한 해결책이었습니다 (아마도 최선의 방법은 아닙니다). 이 코드의 문제점은 올바른 대답을 얻었을 때 while 문이 중단되지 않는다는 것입니다. 그것은 그것을 잡을 것이고 정답으로 num을 시작한 경우에만 답을 줄 것입니다 : 142857,하지만 다른 것으로 초기화 할 때 그것은 142857을 바로 세는 것을 계속합니다. 이상한 것은 다른 정확한 답을하기 위해 똑같은 방법을 사용했습니다. 오일러 문제와 그 중 하나가 잘 작동합니다. 아무도 이것이 왜 여기서 일어나고 있는지 말해 줄 수 있습니까? 감사! x2,x3,x4,x5,x6
모두 같은 값 때문에진술서가 멈추지 않을 때까지
def digits(number):
return [int(x) for x in str(number)]
def same_digits():
num = 1
x2 = sorted(digits(num*2))
x3 = sorted(digits(num*3))
x4 = sorted(digits(num*4))
x5 = sorted(digits(num*5))
x6 = sorted(digits(num*6))
while x2 != x3 != x4 != x5 != x6:
num += 1
print num
질문을 삭제하지 마십시오. 타인에게 유용 할 수 있습니다. 또한 아래의 모든 대답을 무효화합니다. – Hooked
그래, 내가 그것을 삭제하려고하면 깨달았다. 그것을 복원 주셔서 감사합니다. Sven =) 죄송합니다, 저는 새내기입니다. –