IDLE에서 돌렸을 시엔 결과가 제대로 나오는데 심사에선 틀리다고 나와서 문제가 무엇을 요구하는 것인지 무엇을 놓치고 있는지 궁금합니다.
같은 질문에 답변을 보았으나 봐도 이해가 가질 않네요.
--------------------------------------------------------------------------------------
문의한 코드는 삭제합니다.
"input을 통해 health, mana, ability_power의 값을 할당시켰고 그 다음에 x에 Annie객체를 생성하였는데요 이 이후에 x.tibbers()를 통해 코드를 실행을 시켰을 경우 x객체 내의 ability_power는 객체내의 self.ability_power가 아닌 input을 통해 할당을 시켜주었던 ability_power의 값을 사용하게 됩니다. 즉 코드가 정상적으로 실행은 되지만 심사문제에서 요구했던 것은 객체의 속성을 이용하여 매서드를 실행시키기를 원했기 때문에 틀렸다는 결과가 나오게 됩니다!"
---->> 여기서 어느 것을 고쳐야 하는 것이죠?
정답 코드가 있다면 비교해 보고 싶네요.
마지막으로 메서드 안에서 임의의 변수를 만들때 위처럼
tibberdamage 라고 해도되는건가요? 아니면 메소드에서도 변수를 만들때 self.tibberdamage라고 해야하나요? 영상강의에 안나온거라 두가지 다 해봐도 틀렸다고만 나오네요. IDLE에서는 일단 되구요.
(도장_ 관리자님이 수정함 - 원문 제출일: 2019년 10월 29일, 화요일, 오후 7:31)
문의한 코드는 들여쓰기가 맞지 않아서 문법 오류이지만,
들여쓰기만 고쳐서 제출하면 심사문제를 통과했습니다.
잘 풀이한 코드로 보입니다.
메서드 안에서만 사용하는 임시 변수는 이름을 쓰면 되고,
클래스의 속성으로 사용할 때는 self.이름을 쓰면 됩니다.
함수 안에서 임시로만 사용하고, 클래스 전체에서 사용하지 않으므로 self.를 붙이지 않고 함수 범위에서만 유효한 변수를 써도 상관 없습니다.
클래스의 속성으로 쓸 때만 self.을 붙이세요.
들여쓰기 제대로 한거 같은데도 안되는데요...?
코드는 문제점 확인하고 바로 지우도록 하겠습니다.
기본탭 설정을 4 spaces로 사용중입니다.
지금 게시판에선 좁게 보이지만 아무 문제 없는 들여쓰기로 보이는데요;
문의한 코드는 삭제합니다.
(도장_ 관리자님이 수정함 - 원문 제출일: 2019년 10월 31일, 목요일, 오후 2:18)
감사합니다.
클래스명 쓰고 줄을 한칸 띄우고 메서드를 작성해야 통과되네요.
여태까지 한칸 안띄우고 바로 붙여서 제출했습니다. ㅜㅜ 성격탓인지 통과가 안되면 몇일간 계속 문제가 왜 안풀렸을까 고민을 하게 되네요.
class 클래스명:
( ---- \n ----)
def 메서드명:
코드#########