2016-09-20 3 views
0

나는 파이썬의 기본을 따르고 있으며 IDLE을 사용하여 실시간으로 스크립트를 실험 할 때 편리하다고 생각합니다.파이썬의 들여 쓰기 오류 IDLE

파일로이 스크립트를 실행할 수 있지만 IDLE!의 마지막 인쇄 문을 포함 할 수는 없습니다. 저는 들여 쓰기를 시도했습니다, 4 칸, 들여 쓰기가 없습니다. 내가 뭘 잘못하고 있는지 설명해주세요.

while True: 
    print ('Who are you?') 
    name = input() 
    if name != 'Joe': 
     continue 
    print('Hello, Joe. What is the password? (It is a fish.)') 
    password = input() 
    if password == 'swordfish': 
     break 
print('value') 
SyntaxError: invalid syntax 

답변

1

한 번에 하나의 명령문을 입력 할 수 있습니다. while 루프는 루프 자체와 함께 하나의 루프로 간주되며 루프는 코드 블록이므로 모든 내용이 괜찮습니다.

그러나 print은 새로운 명령입니다. while 루프를 먼저 실행하고 인터프리터에 print을 입력해야합니다.

+0

나는 그것이 사실이라고 생각했다. 모두 도움을 주셔서 감사합니다. – user2212485

+0

답변을 수락하여 답변을 끝낼 수 있습니까? –

1

한 번에 둘 이상의 명령문을 IDLE에 붙여 넣을 수 없습니다. 문제는 들여 쓰기와 관련이 없습니다. while 루프는 하나의 복합 문을 구성하고 최종 문은 print 개를 구성합니다.

print('A') 
print('B') 

이 문제가 있다는 사실이 더욱 분명 문제가 들여 쓰기 중 하나를 ins't 보여줍니다 : 당신이 IDLE로 한 번에 붙여 넣기 할 때

다음은 문제가 있습니다.

0

는 그런 다음 당신은 다른 사람이 친절하게 지적했듯이

while True: 
    print ('Who are you?') 
    name = input() 
    if name != 'Joe': 
     continue 
    print('Hello, Joe. What is the password? (It is a fish.)') 
    password = input() 
    if password == 'swordfish': 
     break 
    print('value') 
0

는 파이썬 IDLE은 단지 하나 개의 코드 블록이 한 번에 실행할 수있는 이스 페이스를 추가 할 단지 필요 라인 (10)에 undentation 오류가 있습니다. 이 경우 while 루프는 '블록'입니다. 마지막 print 문은이 블록 외부에 있으므로 실행할 수 없습니다.