Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python – 리스트에 특정 숫자와 그 3배 값이 존재하는지 확인하는 방법

문제 개요

리스트 안에 어떤 숫자와 그 숫자의 3배에 해당하는 값이 동시에 존재하는지 확인해야 하는 경우가 있습니다. 이럴 때는 리스트를 순회하면서 각 요소에 3을 곱한 값이 리스트 내 다른 요소로 존재하는지 검사하는 함수를 정의하면 됩니다.

예제 코드

아래는 실제 구현 예시입니다.

def check_triple_exists(my_list):
for i in range(len(my_list)):
for j in (my_list[:i] + my_list[i+1:]):
if 3 * my_list[i] == j:
print("The triple exists")

my_list = [67, 34, 89, 67, 90, 15, 5]
print("The list is :")
print(my_list)
check_triple_exists(my_list)

실행 결과

The list is :
[67, 34, 89, 67, 90, 15, 5]
The triple exists

코드 설명

  • check_triple_exists라는 이름의 함수를 정의하고, 리스트를 매개변수로 전달받습니다.

  • 함수 내부에서는 리스트를 순회하면서 각 요소에 3을 곱한 값을 계산한 뒤, 해당 값과 일치하는 다른 요소가 리스트에 존재하는지 확인합니다.

  • 이때 자기 자신과 비교하지 않도록 슬라이싱(my_list[:i] + my_list[i+1:])을 사용하여 현재 인덱스의 요소를 제외한 나머지 요소들만 검사합니다.

  • 일치하는 값을 찾으면 "The triple exists"라는 메시지를 출력합니다.

  • 함수 외부에서는 리스트를 정의하고 콘솔에 출력합니다.

  • 마지막으로 리스트를 인자로 넘겨 함수를 호출하면, 결과가 콘솔에 표시됩니다.

참고 사항

위 예제에서는 조건이 만족되면 메시지만 출력하고 함수가 계속 실행됩니다. 조건을 만족하는 즉시 종료하고 싶다면 return True를 사용하고, 끝까지 찾지 못했을 때 return False를 반환하도록 수정하면 더욱 견고한 코드를 작성할 수 있습니다.