OriginalGriff
Python использует отступы для определения блоков кода, Вы можете отступить код на любую величину, но он должен точно соответствовать, чтобы быть на одном уровне.
так что все в порядке:
if a==b :
if c==d :
x()
y()
z()
Но это:
if a==b :
if c==d :
x()
y()
z()
Даст вам ошибку отступа, потому что вызов
y
не "выстроен" ни с тем, ни с другим
if
поэтому система не знает, что с ней делать.
Теперь ваш код выглядит нормально, но ... скорее всего, проблема будет заключаться в табуляциях и пробелах. Редакторы, использующие отступы табуляции, отступают в одну и ту же позицию, но если вы также смешиваете пробелы, то компилятор не знает, сколько пробелов должна представлять вкладка.
Проверьте свой редактор: некоторые позволяют "показывать метки" для обозначения вкладок, отличных от пробелов, некоторые позволяют заменять вкладки пробелами (я бы на вашем месте включил этот параметр).
Это лишь одна из причин, по которой я не использую Python: он не предназначен для создания хорошего, надежного, ремонтопригодного кода!
Member 14517556
Вы имеете в виду, что я должен либо использовать табуляции, либо пробел в коде, а не то и другое, потому что это сбивает компилятор с толку?
Member 14517556
Я изучил функции python till и довольно хорошо пишу на нем коды. Можете ли вы порекомендовать, какой язык я должен начать дальше, так как я также не очень доволен python. У меня есть два варианта : C++ и Java
OriginalGriff
Я бы предложил C# - он мощный и может быть использован для программирования настольных, веб-и мобильных приложений (включая Android и iPhone с Xamarin), чего Java не может и не имеет сложности C++ (что часто позволяет вам делать слишком много ошибок). Есть даже проект в кулисах, чтобы использовать его непосредственно в браузере вместо Javascript, что будет большим плюсом!
Java в значительной степени ограничена только устройствами Android (хотя вы можете запустить ее в Windows, вы не видите, что она используется так много на практике, отчасти из-за необходимости установки среды выполнения java)