• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

21강 6분 46초 부분 exercise 15 = 은 왜 안되고 ==은 되나요?

21.04.11 21:37 작성 조회수 195

1

~~~

data = int(input())

if data % 2 == 0:

    print ("짝수")

else:

    print ("홀수")

~~~

if data % 2 = 0: 로 처음에 썼다가 틀린 문법이라고 나와서 정답을 보니 = 이 아니라 == 이더라구요. 그런데 왜 ==을 써야 정답인지 모르겠습니다 ㅠㅠ

답변 1

답변을 작성해보세요.

0

haon님의 프로필

haon

2021.04.12

수학을 배우셨나요? 배우셨다면 조금 복잡해질 수 있습니다.

수학에서 '='는 예를들어서 3 * 4 = 12와 같이 똑같다라는 뜻입니다.

하지만 프로그래밍에서는 a = 10와 같이 대입하다라는 뜻입니다.

그래서 if data % 2 = 0:는 만약 data를 2로 나누었을때의 나머지에 0를 대입하다같은 엉망인 코드입니다.

프로그래밍에서 =같은것을 대입연산자 라고 합니다.

강의에서 if는 조건문이라고 배웠죠? 그러면 조건이 있어야 조건문이 됩니다.

어떤조건을 추가하고싶나요? 홀수인지 짝수인지 비교하는 조건을 추가하고싶죠?

그래서 홀수 인지짝수인지 비교하려면 비교연산자라는것을 사용합니다. (비교연산자에는 ==, !=, <, >, <=, >= 가 있습니다.) 

무었과 무었을 비교하고싶나요? data 를 2로 나눈나머지와 0을 비교하고 싶습니다.

따라서 비교연산자인 ==를 사용합니다.

중요한점은 =와 ==는 전혀 의미가 다르다는것입니다.

RYAN KIM님의 프로필

RYAN KIM

질문자

2021.04.12

아하.... 같다라는 의미가 아니라 대입하다라는 뜻이라 애초에 안되는 것이었군요.. 명쾌한 설명 감사합니다 haon님!! 덕분에 이해하였습니다:)