Python(파이썬)_점프 투 파이썬/기본 문제풀이 및 연습

세 수 중 중간 값 찾기

study note 2025. 8. 26. 00:34
반응형

❰문제풀이3❱

- 사용자로부터 정수 3개를 입력받아, 가장 크지도 작지도 않은 ‘중간값(두 번째로 큰 수)’을 출력하는 프로그램을 작성하세요.

a= int(input("첫 번째 숫자를 입력하세요 :")) #첫 번째 값을 입력받을 함수(int형변환)
b= int(input("두 번째 숫자를 입력하세요 :")) #두 번째 값을 입력받을 함수(int형변환)
c= int(input("세 번째 숫자를 입력하세요 :")) #세 번째 값을 입력받을 함수(int형변환)

if a > b and a < c : # if조건 a의 값이 b보다 클 때 그리고 a의 값이 c보다 작을 때
middle_num =a #중간 값은 조건1 
elif a > b and a < c : # b의 값이 a보다 클 때 그리고 b의 값이 c보다 작을 때
middle_num =b #중간 값은 조건2
else : #모든 조건이 충족 하지 않을 때
middle_num = c # 중간 값은 False

print(f"세 값 중 중간 값은{middle_num}입니다.") #출력 : 세 값 중 중간 값은 8 입니다.

 

리스트 자료형인 .sort()로 표현 할 수 있습니다.

a= int(input("첫 번째 숫자를 입력하세요 :")) #첫 번째 값을 입력받을 함수(int형변환)
b= int(input("두 번째 숫자를 입력하세요 :")) #두 번째 값을 입력받을 함수(int형변환)
c= int(input("세 번째 숫자를 입력하세요 :")) #세 번째 값을 입력받을 함수(int형변환)

nums = [a, b, c] # 입력 받은 값을 리스트로 변환
nums.sort # 오름차순으로 정렬
middle = nums[1] # 1번 인덱스의 값 추출
print(f"세 값 중 중간 값은 {middle}입니다.") # 출력 : 세 값 중 중간 값은 4 입니다.

#오름차순으로 정렬 하다 보면 중간 값은 중간 인덱스인 1에 올 수 밖에 없어 리스트 1을 인덱스의 값으로 설정
이런 식으로 인덱스의 추출은 [0],[3]으로 하면 최대값, 최소값 추출도 가능

파이썬의 내장함수인 sorted()이용하여 한줄로 나타 낼 수 있습니다.

sort()와 sorted()기능은 비슷하지만 동작이 다릅니다.

list, tuple, set 등  정렬 가능한 모든 반복 가능한 자료형(iterable)에 사용 가능한 반면

.sort는 리스트에서만 사용 가능하다는 단점이 있습니다.

항목 sorted() list.sort()
자료형 모든 반복 가능한 객체 리스트만 가능
원본 변경  (새 리스트 반환)  (리스트 자체 변경)
반환값 정렬된 새 리스트 None
사용법 sorted(리스트) 리스트.sort()

 

반응형