제 코딩이 출력이 안되는 이유와 self.hp -= damage 부분이 궁금합니다.
0
안녕하세요, 선생님.
질문이 있습니다!
class Unit:
def __init__(self, name, hp, damage):
self.name=name
self.hp=hp
self.damage=damage
print("{0} 유닛이 생성됐습니다.".format(self.name))
print("체력은 {0}, 공격력 {1} 입니다.".format(self.hp, self.damage))
class AttackUnit: #class 분류
def __init__(self, name, hp, damage): #변수
self.name=name
self.hp=hp
self.damage=damage
def attack(self, location): # 함수1, 새로운 변수
print("{0} : {1} 방향으로 적군을 공격합니다. [공격력 {2}]".format(self.name, location, self.damage)) #location
def damaged(self, damage): # 함수2
print("{0} : {1} 데미지를 입었습니다.".format(self.name, damage))
self.hp -= damage ##[?]
print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp))
if self.hp <= 0:
print("{0} : 파괴되었습니다.".format(self.name))
firebat1=AttackUnit("파이어뱃, 50, 25")
firebat1.attack("5시") #(location)
firebat1.damaged(25) #(damage)
firebat1.damaged(25)
(1) 저렇게 코딩하면 출력이 안되는데 이유를 모르겠어요.
(2) self.hp -= damage로 하는 이유를 모르겠어요.
다른 변수 self.name=name이면
self.name= (name ~어쩌고 저쩌고)로 이해해서
self.hp= (hp-damage)가 돼야 할 것 같은데
왜 self.hp -= damage인지 모르겠습니다.
답변 1
0
a=10
a=a+10 #1
a+=10 #2
##1, 2 둘 다 같은 더하기
a #출력하면 30
a=10
b=3
print(a>b)
print(a>=b) #>=
print(a<b)
print(a<=b)
print(a==b) #등호가 == 비교이고 등호가 = 대입
print(a!=b) #다르다
quiz 8 오류 문제
0
69
1
str() 작성 위치
0
51
1
아나콘다
0
60
1
윈도우 설치 도와주세요
0
74
1
std_weight함수에서weight만return가능한가요?
0
67
1
오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.
0
34
1
설치해서 시작하는데 문제가 있습니다.
0
69
1
함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?
0
103
1
2장 환경설정 문의
0
73
1
스타크래프트 프로젝트
0
74
1
python 파일명.py 입력시 Python 출력
0
133
1
로드맵 질문있습니다!
0
85
2
오류
0
74
1
질문 있습니다.
0
74
1
블로그에 학습한 내용을 정리해도 괜찮을까요?
0
171
1
#퀴즈 3의 5번 질문
0
72
1
print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다
0
81
1
가변인자의 위치가 중요한가요?
0
79
1
vscode옛날 버전 설치
0
221
1
글자색상이 선생님처럼 안나옵니다
0
186
1
슬프네
0
155
1
quiz 6번 관련 문의입니다.
0
129
1
퀴즈#3에 대해서 이렇게 작성해도 되나요?
0
193
1
피드백 부탁드립니다
0
93
1





