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

Kiwoong An님의 프로필 이미지
Kiwoong An

작성한 질문수

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

소개

Python while True에서 If를 활용할 때의 질문입니다.

해결된 질문

작성

·

144

0

customer = "Robert"

index = 1
while True:
    print("{0}, Your order is ready.".format(customer))
    index += 1

    if index => 2
    print("{0}, Your order is ready. We called you {1} times".format(customer, index))
    index += 1

나도코딩님 무료파이썬 강의 while편에서의 질문입니다.

강의에서는 한글이니까 아래의 코드는 안넣어도 상관없지만 영어로 하면 처음 불렀는데 times라고 하면 문법이 안맞다는걸 깨닫고 처음 불렀을때와 그다음 불렀을때의 문장을 구분해서 출력하고 싶어서 넣은 코드입니다.

if index => 2

이부분에서 invalid syntax (<unknown>, line 8)이라고 에러메시가 출력이 됩니다. 원인은 도저히 모르겠습니다. 알려주시면 정말 감사하겠습니다.

답변 1

0

안녕하세요!

먼저 =>가 아니라 >= 입니다.

이상, 이하를 의미하는 연산자는 

> 또는 < 가 먼저 오고, 그 다음에 = 이 온다고 기억하시면

헷갈리지 않으실 것 같습니다!

>= , <=

그 다음으로, 질문 글의 코드만 보았을때는

if 문 블록에서 : 가 빠져있고, 들여쓰기가 안되어있습니다.

또한 while 문 조건이 True인 이상 무한루프에 빠지고,

일정 횟수 이상 반복하면 프로그램이 멈추기 때문에

탈출조건 또한 넣어주시면 좋을 것 같습니다.

(예시)

if index >= 100:

    print("너무 많이 호출했어요!")

    break

index += 1 또한 if 문 조건에 상관없이 수행되므로

if문 밖에서 마지막에 한 번만 호출하셔도 될 것 같습니다.

개인적인 생각으로, index 가 1일때만 "~ times" 가 안붙고

나머지 모든 경우에 붙으니

if문은 index가 1인 경우를 처리해줄때에 넣어도 괜찮지 않을까요?

Kiwoong An님의 프로필 이미지
Kiwoong An
질문자

제가 실수한게 한두개가 아니였군요.. 감사합니다!

Kiwoong An님의 프로필 이미지
Kiwoong An

작성한 질문수

질문하기