반응형
❰문제풀이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() |
반응형
'Python(파이썬)_점프 투 파이썬 > 기본 문제풀이 및 연습' 카테고리의 다른 글
문자열을 거꾸로 뒤집어서 출력하는 코드 (0) | 2025.08.28 |
---|---|
비밀번호 유효성 검사기(기초버전) (0) | 2025.08.27 |
이메일 아이디 추출기 (0) | 2025.08.27 |
정수 3개 중 가장 큰 수 출력 (1) | 2025.08.26 |
짝수 홀수 판별하기 (0) | 2025.08.25 |