Page 10 -
P. 10
⑤ 마무리 ⑥ 셀프체크
개념을 다질 수 있게 장마다 핵심 내용 정리 직접 코드를 짜 보면서 배운 내용을 이해했는지 확인
셀프체크 해설 노트 p.413
마무리 문제 미세먼지 수치를 입력받아 대기질 상태를 출력하는 함수를 만들어 보세요.
조건
1. get_air_quality라는 이름으로 함수를 만든다.
2. 이 함수는 전달값으로 미세먼지 수치를 입력받는다.
3. 이 함수는 대기질 상태를 반환한다.
1. input( )
4. 미세먼지 수치에 따른 대기질 상태는 다음과 같다.
① 사용자로부터 어떤 값을 입력받는 용도로 사용하는 표준 입력 함수입니다. •좋음: 0~30
•보통: 31~80
② 입력값은 항상 문자열로 인식하며 숫자를 입력받아 연산하려는 경우에는 형변환이 필요합니다.
•나쁨: 81~150
•매우 나쁨: 151 이상
2. print( )
5. 함수에 전달되는 전달값은 항상 0 이상의 값이라고 가정한다.
어떤 값을 출력하는 용도로 사용하는 표준 출력 함수입니다.
# 테스트 코드
3. 표준 출력 시 유용한 기능 print(get_air_quality(15)) # 좋음
print(get_air_quality(85)) # 나쁨
① sep: 여러 데이터를 지정한 값으로 구분합니다.
실행결과
② end: 문장 끝을 줄바꿈 대신 지정한 값으로 출력합니다.
# 미세먼지 수치가 15일 때
③ file: 출력 대상을 지정합니다. 좋음
④ ljust()와 rjust(): 미리 공간을 확보하고 왼쪽 또는 오른쪽 정렬로 출력합니다. # 미세먼지 수치가 85일 때
나쁨
⑤ zfill(): 미리 공간을 확보하고 빈칸을 0으로 채웁니다.
4. format( )
다양한 형식으로 원하는 형태의 출력 포맷을 지정하는 용도로 사용합니다.
⑦ 게임 만들기 예제 ⑧ 웹북과 동영상
형식 {인덱스:[[빈칸채우기]정렬][기호][공간확보][쉼표][.자릿수][자료형]}
게임을 만들어 보며 클래스 이해 웹북과 동영상으로 자유롭게 학습
220
9.6
252 게임 완성
지금까지 배운 클래스 내용을 바탕으로 마치 실제로 플레이하는 것처럼 텍스트 기반 게임을 완성
해 보겠습니다. 9.6 부모클래스 호출하기: super()를 공부하며 작성한 비교 코드를 제외하고 9장에
웹북 https://thebook.io
서 만든 코드들을 보완하는 방향으로 진행합니다.
9장 클래스 동영상 https://www.youtube.com/@nadocoding
9.6.1 게임 준비하기
가장 기본인 Unit 클래스부터 살펴보겠습니다.
❶ 실제 게임에서는 유닛이 생성될 때마다 각 유닛의 고유한 소리를 울려서 유닛 생성을 알려
줍니다. 여기서는 소리 대신 __init__() 생성자에 print() 문을 추가해 어떤 유닛을 생성
했는지 안내 문구를 출력하겠습니다.
❷ move() 메서드에서는 유닛 이동과 관련한 안내 문구를 2번이나 출력하므로 첫 번째 출력문
인 [지상 유닛 이동] 문구는 삭제하겠습니다.
❸ 공격 유닛인 AttackUnit 클래스를 만들면서 적군으로부터 공격받을 때 호출되는 damaged()
메서드를 정의했습니다. 그런데 일반 유닛도 공격할 수는 없지만, 공격받을 수는 있습니다. 009
따라서 damaged() 메서드를 Unit 클래스로 이동하고 AttackUnit 클래스에서는 제외하겠
습니다.
# 일반 유닛
class Unit:
def __init__(self, name, hp, speed):
299