채널톡 아이콘

인프런 커뮤니티 질문&답변

RYAN KIM님의 프로필 이미지

작성한 질문수 2

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 문자열,리스트,조건문 활용1

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

작성

·

294

1

~~~

data = int(input())

if data % 2 == 0:

    print ("짝수")

else:

    print ("홀수")

~~~

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

답변 1

0

haon님의 프로필 이미지

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

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

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

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

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

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

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

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

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

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

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

RYAN KIM님의 프로필 이미지
RYAN KIM
질문자

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