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 начать нужно.
Почему то вместо ожидаемого результата вектора содержащего оценки по итерациям. Я получил: