IndentationError: unindent does not match any outer indentation level

bog23

Новичок
Пользователь
Апр 7, 2020
6
1
3
Добрый день, Друзья!
Только начинаю изучать Python, и вот такой вопрос: почему условие цикла всегда трушное (True) на первом скрине ? А второе условие проходит как надо, попытался сократить условие просто, но что то пошло не так...
 

Вложения

  • UH8mS24Tl4s.jpg
    UH8mS24Tl4s.jpg
    330,3 КБ · Просмотры: 8
  • jFg6YEsquvo.jpg
    jFg6YEsquvo.jpg
    331,5 КБ · Просмотры: 8
Последнее редактирование модератором:

Rud356

Модератор
Команда форума
Модератор
Апр 5, 2020
44
21
8
Вообще он тут жалуется на скринах на то, что у тебя не совпадают уровни отступов. Попробуй переписать, может
 
  • Мне нравится
Реакции: Student

Rud356

Модератор
Команда форума
Модератор
Апр 5, 2020
44
21
8
Всё также, это подсказка наверное
Лично я скопировал к себе код и у меня все хорошо работает)
 

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
@bog23 скопируйте ваш код и вставьте его тут на форуме. Сперва прочтите эту тему и ознакомьтесь как это правильно сделать.
 
  • Мне нравится
Реакции: Mut3x и bog23

bog23

Новичок
Пользователь
Апр 7, 2020
6
1
3
Вообще он тут жалуется на скринах на то, что у тебя не совпадают уровни отступов. Попробуй переписать, может
Всё также, это подсказка наверное
 

bog23

Новичок
Пользователь
Апр 7, 2020
6
1
3
@bog23 скопируйте ваш код и вставьте его тут на форуме. Сперва прочтите эту тему и ознакомьтесь как это правильно сделать.
Win 10
Python 3.8
от библиотек думаю смысла не будет, ибо в моем коде кроме базовых команд ничего нет...

Python:
sum = 0
while True:
    inpt = input("Введите число")
    if inpt == "sum":
        print(sum)
        sum = 0
        continue
    elif inpt == 'exit' or 'quit':
        exit(0)
    sum = sum + int(inpt)
 

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
@bog23 ваш код ничего не сделает. Вы зачем-то проверяете если в inpt который по идеи число, если он не содержит команду. Стоит переписать его или объяснить подробнее в чем идея кода.

Так-же, такой конструкции нет:
Python:
elif inpt == 'exit' or 'quit':
Нужно написать так:
Python:
elif inpt == 'exit' or inpt == 'quit':
 
  • Мне нравится
Реакции: bog23

bog23

Новичок
Пользователь
Апр 7, 2020
6
1
3
@bog23 ваш код ничего не сделает. Вы зачем-то проверяете если в inpt который по идеи число, если он не содержит команду. Стоит переписать его или объяснить подробнее в чем идея кода.

Так-же, такой конструкции нет:
Python:
elif inpt == 'exit' or 'quit':
Нужно написать так:
Python:
elif inpt == 'exit' or inpt == 'quit':
Да, я это понял, я так написал - во втором скрине показано.
Но мне интересно почему нельзя написать сокращенно?
 

bog23

Новичок
Пользователь
Апр 7, 2020
6
1
3
По идее, False or False = False
Но код засчитывает как True и пропускает в тело цикла
 

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
Сокращено писать if inpt == 'exit' or 'quit' ?
Откуда питону знать с чем ему сравнивать второй 'quit' ? Для него это сразу True т.к. любая не пустая строка это сразу True. Потому тебя и выкидывает из программы.
 
  • Мне нравится
Реакции: bog23

bog23

Новичок
Пользователь
Апр 7, 2020
6
1
3
Сокращено писать if inpt == 'exit' or 'quit' ?
Откуда питону знать с чем ему сравнивать второй 'quit' ? Для него это сразу True т.к. любая не пустая строка это сразу True. Потому тебя и выкидывает из программы.
Понял, спасибо большое!
 
  • Мне нравится
Реакции: Student

Maxim77

Новичок
Пользователь
Апр 4, 2020
6
0
1
интересно, а то что в слове input ошибка влияет на что либо? прошу конечно прощения, если вопрос глупый, я только только начинаю.
 

Maxim77

Новичок
Пользователь
Апр 4, 2020
6
0
1
ойойой))) и правда глупый) это же переменная
 

Форум IT Специалистов