2016-09-20 3 views
0

Я просто следую основанию python и использую IDLE, так как считаю удобным экспериментировать с сценариями в режиме реального времени.Ошибки отстоя на Python 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 другой.

Ниже также возникают проблемы при попытке вставить сразу в IDLE:

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

Тот факт, что есть проблема, показывает еще более ясно, что вопрос ins't один из отступов.

0

У вас ошибка undentation в строке 10, то вам нужно просто добавить Espace

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 только позволяет один блок кода, который будет выполнен в то время. В этом случае цикл while является «блоком». Последний оператор печати находится за пределами этого блока, поэтому он не может быть выполнен.