Expected an indented block python ошибка

Моя программа не работает! Что делать? В данной статье я постараюсь собрать наиболее частые ошибки начинающих программировать на python 3, а также расскажу, как их исправлять.

Проблема: Моя программа не запускается. На доли секунды появляется чёрное окошко, а затем исчезает.

Причина: после окончания выполнения программы (после выполнения всего кода или при возникновении исключения программа закрывается. И если вы её вызвали двойным кликом по иконке (а вы, скорее всего, вызвали её именно так), то она закроется вместе с окошком, в котором находится вывод программы.

Решение: запускать программу через IDLE или через консоль.

Проблема: Не работает функция input. Пишет SyntaxError.

Причина: Вы запустили Python 2.

Проблема: Где-то увидел простую программу, а она не работает.

Причина: Вам подсунули программу на Python 2.

Решение: Прочитать об отличиях Python 2 от Python 3. Переписать её на Python 3. Например, данная программа на Python 3 будет выглядеть так:

Проблема: TypeError: Can’t convert ‘int’ object to str implicitly.

Причина: Нельзя складывать строку с числом.

Решение: Привести строку к числу с помощью функции int(). Кстати, заметьте, что функция input() всегда возвращает строку!

Проблема: SyntaxError: invalid syntax.

Причина: Забыто двоеточие.

Проблема: SyntaxError: invalid syntax.

Причина: Забыто равно.

Проблема: NameError: name ‘a’ is not defined.

Причина: Переменная "a" не существует. Возможно, вы опечатались в названии или забыли инициализировать её.

Решение: Исправить опечатку.

Проблема: IndentationError: expected an indented block.

Причина: Нужен отступ.

Проблема: TabError: inconsistent use of tabs and spaces in indentation.

Причина: Смешение пробелов и табуляции в отступах.

Решение: Исправить отступы.

Проблема: UnboundLocalError: local variable ‘a’ referenced before assignment.

Причина: Попытка обратиться к локальной переменной, которая ещё не создана.

Проблема: Программа выполнилась, но в файл ничего не записалось / записалось не всё.

Причина: Не закрыт файл, часть данных могла остаться в буфере.

Проблема: Здесь может быть ваша проблема. Комментарии чуть ниже 🙂

Пишу калькулятор вот такая ошибка:

if user_action == ‘ВЫЧИТАТЬ’ or user_action == ‘вычитать’ or user_action == ‘Вычитать’:
^
IndentationError: expected an indented block

  • Вопрос задан более года назад
  • 225 просмотров

print(»)
print(»)
print(‘КАЛЬКУЛЯТОР’)
print(‘Правила исполнения’)
print(‘***___***’)
print(‘Вначале введите 2 числа с которыми будете проводить действия’)
print(‘Введите СЛОЖИТЬ чтобы сложить 2 числа’)
print(‘Введите ВЫЧИТАТЬ чтобы вычесть 2 введённых числа’)
print(‘Введите УМНОЖИТЬ чтобы умножить 2 введённых числа’)
print(‘Введите РАЗДЕЛИТЬ чтобы разделить 2 введённых числа’)
print(‘Введите СТЕПЕНЬ чтобы возвести число в степень’)
print(‘Введите ОСТАТОК чтобы найти остаток от деления’)
print(‘Введите СТОП чтобы завершить программу’)
print(»)
chislo = float(input(‘Введите перввое число: ‘))
chislo1 = float(input(‘Введите второе число: ‘))
user_action = input(‘Введите действие: ‘)

if user_action == ‘СТОП’ or user_action == ‘стоп’ or user_action == ‘Стоп’:
break
if user_action == ‘СЛОЖИТЬ’ or user_action == ‘сложить’ or user_action == ‘Сложить’:

if user_action == ‘ВЫЧИТАТЬ’ or user_action == ‘вычитать’ or user_action == ‘Вычитать’:

if user_action == ‘УМНОЖИТЬ’ or user_action == ‘умножить’ or user_action == ‘Умножить’:

if user_action == ‘РАЗДЕЛИТЬ’ or user_action == ‘разделить’ or user_action == ‘Разделить’:

if user_action == ‘СТЕПЕНЬ’ or user_action == ‘степень’ or user_action == ‘Степень’:

if user_action == ‘ОСТАТОК’ or user_action == ‘остаток’ or user_action == ‘Остаток’:

Задача обучить случайный лес с различным числом деревьев от 1 до 50 и для каждого из вариантов оценить качество работы полученного леса на кросс-валидации по 5 блокам. (sklearn.metrics.r2_score). Я написал такой цикл:

Но получается ошибка всегда одна и та же, какой бы я цикл не писал:

Как её исправить?

(я делал так же for цикл с индексами [P] но выходила всё та же ошибка)

Обновление

Правда, я писал код в блокноте и просто вставил в консоль без отступа. Код сработал, потому что ошибка получилась другая:

ValueError: n_estimators must be greater than zero, got 0.

Но тут просто с 1 начать нужно.

Почему то вместо ожидаемого результата вектора содержащего оценки по итерациям. Я получил:


[an error occurred while processing the directive]
Карта сайта