Найти - Пользователи
Полная версия: inconsistent use of tabs and spaces in indentation
Начало » Python для новичков » inconsistent use of tabs and spaces in indentation
1
guestonearth
Всем доброго времени суток
Питоном занимаюсь 3-й день, так что не судите строго =)

дык вот, на
  if command[0] == "open":
open_file(command)
он ругается тем что указано в заголовке

интересно также то что на некоторые подобные конструкции он тоже ругается, а на некоторые нет

в принципе понятно, что я что-то намутил с отступами, но непонятно что именно

def executor(command):
if command[0] not in define_commands:
print("wrong command")
return -1
try:
if command[0] == "open":
open_file(command)
elif command[0] == "close":
close_file(command)
elif command[0] == "insert":
insert_strings(command)
elif command[0] == "replase":
replase_pattern(command)
elif command[0] == "show":
show(command)
elif command[0] == "show_a":
show_a(command)
elif command[0] == "save":
save_file(command)
elif command[0] == "help":
p_help()
except WrongLen:
print("wrong parameters of", command[0])
и еще - если посоветуете как можно оптимизировать подобный код - буду очень благодарен
igor.kaist
guestonearth, у вас в первой строчке 2 пробела, во второй 5. Используйте редактор, который сам нормально ставит отступы.
По поводу второго вопроса, можно как то так:
commands={'help':function1,'save':function2}

def execute(command):

try:commands[command[0]](command)
except KeyError:print 'Нету такой команды, нацяльника!'
guestonearth
так, с отступами понял, настроил kate, всё работает
правда, вложенность отображает через задницу, а так ничего, даже syntax highlight нормальный

спасибо большое за второе, но я пока не все коллекции нормально знаю, дойду - разберусь
igor.kaist
Чуть подправил свой пример выше, теперь больше подходит для ваших условий.
Вам остается написать функции типа:
def function1(command):
print command
и не забывайте, что функции нужно объявлять до того, как вы их укажите в словаре commands :)
guestonearth
http://ideone.com/lhjO1

теоретически это должен быть оооочень простой текстовый редактор
не могли бы вы указать на какие-нить не python-way куски кода и тру методы решения для них?

з.ы. писалось после изучения С =)
Carzil
оффтоп: совет: работайте в Eclipse. =)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB