Search

근삿값

 근삿값을 구하는 방법
Input number 와 차이를 계산해서 절댓값이 가장 작은 값을 구해주면 된다.
import random nums = random.sample(range(0,50),20)# 0이상 50이하의 숫자에서 20개를 중복되지 않게 추출 print(f'nums : {nums}') inputNum = int(input('input number : ')) nearNum = 0 # 추후 가장 가까운 값을 집어넣어줄 변수 초기화 minNear = 50 # nums에서 가장 큰 값 저장.-> 나올 수 있는 차이 중 가장 큰 값이 50이기 때문에 for n in nums: absNum = abs(n - inputNum) if absNum < minNear: minNear = absNum nearNum = n print(f'near Num : {nearNum}') print(f'가장 가까운 숫자의 차이 : {minNear}')
Python
복사
# 시험점수를 입력하면 학점이 출력되는 프로그램을 만들자. # 근삿값 알고리즘을 사용한다. # 95에 근삿값이면 'A' # 85에 근삿값이면 'B' # 75에 근삿값이면 'C' # 65에 근삿값이면 'D' # 55에 근삿값이면 'F' # near.py def getNear(an): # 인자값으로 avgScore 를 입력받을 것이다. basescore = [95,85,75,65,55] nearNum = 0 minNear = 100 for b in basescore: # 학점 기준 점수를 돌면서 확인한다. -> 근삿값 찾기 absScore = abs(b - an) if absScore < minNear: minNear = absScore nearNum = b if nearNum == 95: return 'A' elif nearNum == 85: return 'B' elif nearNum == 75: return 'C' elif nearNum == 65: return 'D' elif nearNum == 55: return 'F'
Python
복사
import near as nr scores = [] kor = int(input('input kor score: ')) scores.append(kor) eng = int(input('input kor score: ')) scores.append(eng) mat = int(input('input mat score: ')) scores.append(mat) sci = int(input('input sci score: ')) scores.append(sci) his = int(input('input his score: ')) scores.append(his) totalScore = sum(scores) print(f'total score : {totalScore}') avgScore = round(totalScore / len(scores),2) print(f'average score: {avgScore}') grade = nr.getNear(avgScore) print(f'grade : {grade}')
Python
복사