#python #syntax #while-loop #syntax-error #indentation
#python #синтаксис #во время цикла #синтаксическая ошибка #отступ
Вопрос:
while x <= 9:
result = usertype()
if result == 'Correct':
Я получаю ошибку отступа на «t» результата в «result = usertype(). Кто-нибудь может это объяснить?
* РЕДАКТИРОВАТЬ Я попытался переписать его, и я проверил, чтобы убедиться, что все отступы действительно являются отступами, а не пробелами. Сейчас я очень расстроен и очень смущен. Я думаю, что это может быть что-то в предыдущей строке, вызывающее проблему.
* ОШИБКА РЕДАКТИРОВАНИЯ 2, скопированная из командной строки, потому что IDLE у меня не работает:
File "<stdin>", line 5
result = usertype()
^
IndentationError: expected an indented block
>>> if result == 'Correct':
File "<stdin>", line 1
if result == 'Correct':
^
IndentationError: unexpected indent
>>> x = x 1
File "<stdin>", line 1
x = x 1
^
IndentationError: unexpected indent
>>> y = y 5
File "<stdin>", line 1
y = y 5
^
IndentationError: unexpected indent
>>> else:
File "<stdin>", line 1
else:
^
IndentationError: unexpected indent
>>> x = x 1
File "<stdin>", line 1
x = x 1
^
IndentationError: unexpected indent
>>> y = y - a2
File "<stdin>", line 1
y = y - a2
^
IndentationError: unexpected indent
>>> return y
File "<stdin>", line 1
return y
^
IndentationError: unexpected indent
Решаемая!
Я не уверен, как, но я скопировал вставленный мой код в IDLE, развернул все области, а затем снова ввел табуляцию. Я читал где-то еще на SO, чтобы сделать это, так что проблема решена!
Вот вся программа:
import random
def usertype(raw_input):
randletter = random.choice('qwer')
print randletter
userinput = raw_input('')
if userinput == randletter:
return 'Correct'
else:
return 'Incorrect'
def usertypetest(raw_input):
x=0
y=0
while x <= 9:
result = usertype()
if result == 'Correct':
x = x 1
y = y 5
else:
x = x 1
y = y - a2
return y
print usertypetest(raw_input)
Комментарии:
1. Вы смешиваете табуляции и пробелы? Обычно это является причиной ошибок такого типа.
2. Да … из «:» в то время как нажмите enter и введите новый код
3. Я переписал код, все еще получая эту ошибку. Сейчас я опубликую всю программу.
4. Не могли бы вы также опубликовать полную ошибку, пожалуйста?
Ответ №1:
В опубликованном коде нет ничего неправильного. Но у вас могут быть смешанные табуляции и пробелы в вашем файле, что приводит к тому, что Python путается в отступах. Проверьте настройки текстового редактора, чтобы узнать, можете ли вы выделить эти символы.
Комментарии:
1. Я проверил, все они были с вкладками. Я переписал неправильные области, но безуспешно.