홀수 앞에 짝수를 넣어서 3초 이내에 데이터 집합을 계산해 주세요. (for while과 같은 루프는 사용하지 마세요.)
형식은 다음과 같습니다
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
출력 결과는
2, 1, 4, 3, 6, 5, 8, 7, 10, 9
해결 방법: for 및 while을 사용하여 쓸 수 없으므로 루프 판단 후 위치 교체부터 처리했습니다. 위치와 관련된 만큼, 우리가 가장 먼저 생각해야 할 것은 첨자와 인덱스입니다. 코드는 다음과 같습니다.
data[0::2]는 데이터 목록의 첫 번째 위치부터 시작하여 숫자 1::끝 위치까지를 의미하고, 2는 첫 번째 숫자를 의미하고 두 번째 숫자는 두 개로 구분됩니다. 비트 선택은 홀수 1, 3, 5, 7, 9를 취한다는 의미입니다.
data[1::2]는 데이터 목록의 두 번째 위치인 숫자 2::meaning에서 시작한다는 의미입니다. 끝 위치까지 2는 숫자 2입니다. 한 숫자와 두 번째 숫자는 두 자리로 구분됩니다. 즉, 짝수 2, 4, 6, 8, 10은 아래와 같이 사용됩니다.
tmp 여기서의 역할은 임시저장 영역으로 버블정렬과 동일합니다. 방법은 매우 유사합니다. 홀수를 중앙에 저장하여 짝수를 한 자리 앞으로 이동시킨 후, 임시로 저장된 데이터를 뒤로 가져와 짝수 위치에 배치하여 완성합니다.
다음 형식으로 출력을 세로로 인쇄합니다(타사 라이브러리를 사용하지 마세요).
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
해결 방법: 먼저 프로그램이 한 줄씩 실행된다고 생각해야 하며, 프로그램은 일반적으로 실행 가능하고 규칙적입니다. 실제로 주의 깊게 알아 보면 둘 사이의 차이는 실제로 4입니다. 문제 해결은 어렵지 않을 것이다. 코드는 다음과 같습니다.
보자마자 두 값 사이의 차이 4가 범위 단계 수에 따라 제어될 수 있다는 것을 갑자기 깨닫게 됩니다. 첫 번째 줄에는 1, 5, 9, 13이 인쇄됩니다. 두 번째 줄을 주의 깊게 살펴보세요. 첫 번째 줄에 숫자 + 1을 비교하면 Python의 기본 범위가 0부터 시작하는 기능을 사용하고 각 줄을 추가하기만 하면 두 번째 수준 for 루프가 끝날 때마다 세로 인쇄가 가능합니다. , 인쇄는 포장을 제어하고 완료하는 데 도움이 됩니다.
몇 가지 질문과 해결 방법은 수시로 업데이트될 예정입니다.
몇 가지 방법과 기법에 대해 논의하기 위해 개인 메시지를 보내주실 수도 있습니다.
마지막으로 시청해주신 모든 분들께 감사드립니다! ! !
위 내용은 Python으로 질문 예시 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!