본문 바로가기
Python notes/Others

파이썬 예제코드) 입력한 값의 근사값 구하기 (+sys.maxisize, abs 절대값 함수)

by 성실한 나무 2021. 3. 22.

#1. 문제 해결

 1) 1에서 100 사이의 5의 배수 구한다

 2) 사용자의 입력값을 받는다

 3) 근사값, 근사값과 사용자 입력값의 차이값을 설정한다

 4) 5의 배수들을 하나씩 사용자의 입력값과 빼서 그 절대값을 구한다.

 6) 절대값과 최소값을 비교해서 최소값보다 작은 값을 최소값으로 덮어쓰고, 그 때의 5의 배수도 덮어쓴다.

 7) 모든 5의 배수의 케이스를 거치고 나면 최종적으로 최소값이 구해지고 그때의 5의 배수를 출력할 수 있다.

 

#2. 코드 짜기

numbers=[]
for i in range(1,101): #1~100 사이에서 5의 배수 구하기
  if i%5==0:
    numbers.append(i)
print(numbers)
import sys
user=int(input("근사값을 구할 숫자를 입력하세요:"))
near=numbers[0] #근사값을 numbers의 첫번째 값으로 설정해서 시작
min=sys.maxsize  #최소값을 최대로 설정해서 시작
for a in numbers:
  gap=abs(user-a) #abs() 절대값 함수
  if gap<min: #user 입력값과 numbers 내의 값의 차이가 앞선 최소값보다 적으면, 그 때의 값과 차이를 near, min으로 덮어쓴다
    near=a
    min=gap
print("입력한 값은 %d이고, 이 값의 근사값은 %d이고, 두 값의 차이는 %d입니다" %(user, near, min))

 

#3. 실행

댓글