강경호님 문의 사항에 답변드립니다.
, 도장_ 관리자님이 작성support@dojang.io로 문의 메일을 주셨는데,
답장을 보내면 전달되지 않고 반송되는 이메일 주소라고 뜹니다.
해당 이메일 주소는
outlook_B63E5E333E873C2A@outlook.com
이며 이메일이 수신되지 않습니다.
따라서 이메일로 답변을 드릴 방법이 없습니다.
또한, 코딩 도장 사용자 등록에는 "강 경호"로 등록된 사용자가 없습니다. 닉네임을 사용하거나 다른 이름을 사용하면 확인할 수 있는 방법이 없습니다.
따라서 문의 내용과 답변을 포럼에 등록해둡니다.
문의 내용
파이썬 6.5 연습문제 3번문제 답에 대해 질문입니다.
덧셈 후 할당 연산자는 +=처럼 붙여서 사용해야 합니다. 변수 c가 없고, 값이 들어있지 않은 상태에서는 -= 연산자를 사용할 수 없습니다.
그래서 답이 b, c 라는데
실제로 파이선 IDLE에서 해보니 d만 에러뜨고 나머지는 다 됩니다.
어떤게 맞는 건가요??
답변
안녕하세요,
문의 감사합니다.
정답은 b, c가 아니라 b, d가 맞습니다. 온라인에는 반영했고, 종이책은 2쇄에 반영할 예정입니다.
d는
>>> a = 20
>>> b = 30
>>> c -= b
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
c -= b
NameError: name 'c' is not defined
이와 같이 실습하면 에러가 발생합니다.
c = c - b인데, c가 사용한 적이 없는 변수여서 그렇습니다.
퀴즈의 예시를 순서대로 실습하면 a 항목의 c = -a를 실습해서 변수 c가 생성됩니다.
그러면 d 항목이 문제 없이 실행됩니다.
이미 있는 변수를 삭제할 때는 del을 사용합니다. del c를 실행하면 변수 c가 삭제됩니다.
그러면 퀴즈의 예제를 재연할 수 있습니다.
del 키워드는 Unit 6.1.2에 설명되어 있습니다.
문의 감사합니다.
답변2
퀴즈의 b 항목은
b + = a
처럼 +와 = 사이에 공백이 들어가면 문법 에러가 발생합니다.