0
내 코드는 python 3로 작성되었으며 문장을 출력합니다. 아래 그림과 같이 는 2 ~ 3 자리 숫자의 모든 상동 제품을 반복해야합니다왜 목록을 정렬해도 없음을 반환합니까?
mylist=[]
for i in range(999,99,-1):
for x in range(999, i-1, -1,):
number=i*x
number=str(number)
if number==number[::-1]:
#print(number)
mylist.append(number)
mylist=mylist.sort(reverse=True)
print(mylist)
참고 주석 인쇄. 이것이 여전히 자리를 잡을 때 밖으로 인쇄되어야하는 모든 문장이 나왔습니다. print
문을 사용하지 않고 코드를 실행할 때 콘솔은 '없음'만 출력합니다.
내 논리가 순서대로 볼 수있는 한, 왜 이런 일이 발생합니까? EDIT : 또한 목록을 역순으로 정렬하면 99999가 먼저옵니다. 나는 파이썬이 연속 9를보고 그것이 가장 크다고 생각하기 때문에 이것을 모은다. 그러나 실제로 가장 큰 숫자를 얻는 쉬운 방법이 있습니까?
당신이'None''반환하는 현재 위치에서 작동되는 .sort'를 호출 한 결과에'mylist'을 결합한다. 그냥'mylist.sort (reverse = True)'를해라. –
@Shawn Li 편집 내용이 무엇인지 모르 시겠지만, 숫자는 기본적으로 숫자가 증가하는 순서로 정렬됩니다. 그러나 가장 먼저 숫자를 넣는'reverse = True'를 추가했습니다. 왜냐하면 글쎄, * 실제 * 가장 큰 숫자. – JulienD
@JulienD 99999가 가장 먼저 나오므로 숫자 순서로 정렬되지 않지만 101101 같은 숫자는 99999보다 큽니다. 따라서 요점은 가장 중요한 숫자 인 무한대에 가장 가까운 숫자를 먼저 만들 수 있습니까? –