Python 코드에서 모든 수선화 숫자를 찾는 방법: 먼저 목록을 사용하여 모든 세 자리 숫자를 푸시하고 각 숫자를 표시한 다음 마지막으로 True로 표시된 튜플을 필터링합니다. 문장 그룹의 두 번째 값을 목록 구조에 넣고 인쇄 문을 추가합니다.
모든 수선화 수를 찾는 Python 코드:
방법 1:
>>> >>> a = list(map(lambda x: x[1], filter(lambda x: x[0], [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)]))) >>> print(a) [153, 370, 371, 407] >>>
관련 학습 권장 사항: python 동영상 튜토리얼
지침 :
위 코드는 분해될 수 있습니다. 세 문장 코드:
a = [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)] b = filter(lambda x: x[0], a) c = list(map(lambda x: x[1], b))
첫 번째 문장은 목록을 사용하여 세 자리 숫자를 모두 순회하고 각 숫자를 표시하는 것을 의미합니다. 수선화가 계산 중이면 True로 표시하고, 그렇지 않으면 False로 표시하고, 마크와 숫자를 하나의 조상(플래그, 값)에 넣으면 모든 튜플이 목록 구조에 배치됩니다.
두 번째 문장은 True로 표시된 튜플을 필터링한다는 의미입니다.
세 번째 문장은 c를 의미합니다.
print 문을 추가하고 위의 세 줄의 코드를 실행하여 이해하세요.
방법 2:
목록 파생만 사용하세요.
>>> a = [i**3+j**3+k**3 for i in range(1, 10) for j in range(0, 10) for k in range(0, 10) if i*100+j*10+k == i**3+j**3+k**3] >>> print(a) [153, 370, 371, 407] >>>
관련 추천: 프로그래밍 비디오 코스
위 내용은 Python 코드로 모든 수선화의 수를 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!