Teamlab 오픈소스를 활용해서 Python을 공부하고 있다.
문제 해결!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # 총 과목 수를 Console를 통해 받기 # 첫 번째 수정 def get_number_of_subjects(): # """ # Input: # - None # Output: # - number_of_subjects: Integer Type의 총 과목 수 # Examples(python shell): # >>> import exam_grader as eg # >>> eg.get_number_of_subjects() # 과목수를 입력하세요: 10 # 10 # """ # # ===Modify codes below================= number_of_subjects = None print("과목 수를 입력하세요: ") input_number = int(input()) # 과목의 수를 정수형태로 입력받는다 number_of_subjects = input_number # ====================================== print("과목수는: ", number_of_subjects) return number_of_subjects # Help Funtion - 수정하지 말 것 def sum_of_scores(number_of_subjects): total_score = 0 for i in range(number_of_subjects): message = str(i + 1) + "번째 과목의 점수를 입력하세요 : " score = int(input(message)) total_score = total_score + score return total_score # Help Funtion - 수정하지 말 것 def print_exam_grader(average_score): grade = 'F' if average_score >= 90.0: grade = 'A' elif average_score >= 80.0: grade = 'B' elif average_score >= 70.0: grade = 'C' elif average_score >= 60.0: grade = 'D' else: grade = 'F' print(grade) # get_average_score함수 생성하기 def get_average_score(total_score, number_of_subjects): result = None total_score = total_score number_of_subjects = number_of_subjects result = float(total_score)/number_of_subjects return result def main(): print("Start of Exam Grader Program") print("============================") number_of_subjects = get_number_of_subjects() total_score = sum_of_scores(number_of_subjects) average_score = get_average_score( total_score=total_score, number_of_subjects=number_of_subjects) print_exam_grader(average_score) print("===========================") print("End of Exam Grader Program") if __name__ == '__main__': main() | cs |
질문이 있으시면 댓글로 남겨주세요!
'''
2019년 2월 18일 월요일 새벽....
생각보다 많은 분들이 본 포스팅을 찾아주셔서 정말 감사하다는 말씀 드리고 싶습니다.
부족한 코딩실력인데 많은 참고 해주셔서 감사할 따름이네요
...
시간이 지나 돌아보니 코드가 조금 지저분 한 것 같고,
댓글을 달아주신 ㅎㅎ님의 피드백에 대한 답을 드리고자 다시한번 짜봤습니다
'''
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #!/usr/bin/env python # coding: utf-8 # ## 학점계산기 문제에 질문을 받고 코드를 다시 짜봅니다 # * from scratch # In[3]: # 1. get_number_of_subject: 과목수를 입력받아 return하는 함수 def get_number_of_subject(): number_of_subjects = int(input("수강한 과목의 수를 입력해주세요: ")) return number_of_subjects # 2. Help Function # sum_of_score: 전체 성적을 더해 return하는 함수 def sum_of_scores(number_of_subjects): total_score = 0 for i in range(number_of_subjects): message = str(i+1) + "번째 과목의 점수를 입력하세요: " score = int(input(message)) total_score = total_score + score return total_score # 3. Help Function # print_exam_grader(): 학점의 등급을 출력한다 def print_exam_grader(average_score): grade = 'F' if average_score >=90.0: grade = 'A' elif average_score >= 80.0: grade = 'B' elif average_score >= 70.0: grade = 'C' elif average_score >= 70.0: grade = 'D' else: grade ='F' print(grade) # 4. get_average_score: total_score를 과목수로 나눠 평균 점수를 return한다 ''' def get_average_score(total_score, number_of_subjects): total_score_input = total_score number_of_subjects_input = number_of_subjects result = float(total_score_input) / number_of_subjects_input return result # ㅎㅎ님께서 말씀하신 것처럼 따로 변수를 할당하는 것 보다는 ''' def get_average_score(total_score, number_of_subjects): result = float(total_score) / number_of_subjects # 매개변수를 바로 받아오는 것이 더 깔끔하다 return result # 5. 메인 함수를 실행해본다 def main(): print("Start of Exam Grader Program") print("============================") number_of_subjects = get_number_of_subject() total_score = sum_of_scores(number_of_subjects) average_score = get_average_score(total_score, number_of_subjects) print_exam_grader(average_score) print("=============================") print("End of Exam Grader Program") if __name__ == '__main__': main() | cs |
지난 코드보다 조금 더 깔끔한(?) 코드입니다
문제에 대한 답을 보기에 앞서서
문제를 어떻게 해석할지 고민해보고
어떤 함수와 변수를 사용해야할 지 한번 생각해보고 접근해보신다면
이해하는데 더 많은 도움이 될 것이라고 생각합니다 이상 Hessey였습니다
'Deep Learning > 밑바닥부터 시작하는 데이터 과학' 카테고리의 다른 글
01. 머신러닝/딥러닝을 위한 수학 및 확률과 통계 가이드 - KOCW와 기본 서적 추천 (0) | 2020.05.28 |
---|---|
Intro. 밑바닥부터 시작하는 데이터 과학 (2) | 2020.05.26 |
투빅스_알고리즘 (2) | 2019.01.29 |
[Python]구구단 계산기 (0) | 2019.01.09 |
[Pandas튜토리얼]Pandas Data analysis (0) | 2018.12.03 |
댓글