Флудер
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
|

08.01.2012, 00:07
Так, с if, elif, else я думаю все сами разберуться. Должен только сказать, что else применим не только к if, но и к циклам, блок else у цикла выполняется если цикл был пройден полностью, а не прервался breakом. Чисто императивная фишка, очень редко используемая, но в некоторых ситуациях очень удобная.
Теперь про структуры данных.
Списки.
python Код:
>>> a=[1,2,3] >>> a.append(4) >>> a [1, 2, 3, 4] >>> a.reverse() >>> a [4, 3, 2, 1] >>> a.sort() >>> a [1, 2, 3, 4] >>> a.pop() 4 >>> a [1, 2, 3] >>> a.insert(2,"hello") >>> a [1, 2, 'hello', 3] >>> a.index("hello") 2 >>> a[0] 1 >>> a[2] 'hello' >>> a[-1] 3 >>> a[-2] 'hello' >>> a[0:2] [1, 2] >>> a[0::2] [1, 'hello'] >>> a[-1::-1] [3, 'hello', 2, 1] >>> a=range(10) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> del a[5:8] >>> a [0, 1, 2, 3, 4, 8, 9]
про "+" и "*" уже было.
|
|
|
Специалист
Сообщений: 8,020
Сказал(а) спасибо: 2
Поблагодарили 317 раз(а) в 317 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
|

08.01.2012, 01:03
Цитата:
Сообщение от gromozeka
Начало и шаг можно опустить (1 параметр - конец, 2 - начало и конец, 3 - начало, конец и шаг). Важный момент - конец не включен!
|
Вот здесь непонятки. Конец вроде везде быть обязан. Я даже доки посмотрел.
И ещё. Как я понял переменные могут быть в любом регистре? Как вообще дела в Питоне с регистрами? Он чувствителен к ним или нет?
|
|
|
Флудер
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
|

08.01.2012, 01:06
1) я имел в виду, что range(1,10) это список чисел от 1 до 9 включительно, не до 10.
2) чуствителен. переменные могут быть в любом регистре.
|
|
|
Специалист
Сообщений: 8,020
Сказал(а) спасибо: 2
Поблагодарили 317 раз(а) в 317 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
|

08.01.2012, 01:16
Работа со списками просто супер - посмотрел доки. Правда доступ необычен - справа.
|
|
|
Специалист
Сообщений: 8,020
Сказал(а) спасибо: 2
Поблагодарили 317 раз(а) в 317 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
|

08.01.2012, 02:14
Интересно, вот это работает:
python Код:
>>> z=input() "qwerty" >>> for i in z:print i
q w e r t y
А вот это - нет:
python Код:
>>> for i in input(): print i "qwerty" SyntaxError: invalid syntax
|
|
|
Флудер
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
|

08.01.2012, 02:34
Ок. Как я объяснял выше, этот однострочный for, который Вы ввели в интерпретаторе, может быть полностью самостоятельной программой, а может быть, согласно питоновскому синтаксису, частью блока for-else, поэтому когда Вы ввели первую строчку в шелле, интерпретатор ждал от Вас одного из двух - либо написания блока else, либо нажатия на Enter как подтверждение того, что больше ждать ничего не надо, можно выполнять, а получил "qwerty" и поэтому стал ругаться. Если Вы нажмёте Enter после введения этой строки не один раз, а дважды, а потом введёте "qwerty", пример будет работать.
Ну или просто введите его не в интерпретаторе, а в текстовом редакторе и запустите, тоже отработает.
|
|
|
Флудер
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
|

08.01.2012, 02:54
На случай если плохо объяснил. Шелл позволяет работать не только с однострочниками, он разбирает введённые выражения и в случае, если синтаксис Питона допускает, что введённое выражение не самостоятельное, а часть более сложного выражения, которое может продолжиться на следующей строке, он будет ждать либо продолжения ввода, либо явного указания, что ввод закончен и можно начать выполнение.
и еще на всякий случай. input может получать параметр - строку с приглашением к вводу.
python Код:
for i in input("Enter something: "): print i
Последний раз редактировалось gromozeka; 08.01.2012 в 02:58
|
|
|
ушёл... не вернётся)))
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
|

08.01.2012, 03:08
Python Код:
>>> for i in input(): print i "qwerty" q w e r t y >>>
Дурак движок пусту строку слопал)))
Конец команды "мутноватый", но уловимый)))
Вы там, МаЭстры, шустрите, конечно... Но я потихоньку...
|
|
|
Флудер
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
|

08.01.2012, 03:17
Ой. Вот это очень странно. Как тебе это удалось? Нашёл какую-то настройку хитрую, чтобы он ждал одну строку всегда? Первый раз такое вижу.
|
|
|
ушёл... не вернётся)))
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
|

08.01.2012, 03:44
Был "пустой крюк", просто:
Цитата:
Сообщение от aag
Дурак движок пусту строку слопал)))
|
|
|
|
Специалист
Сообщений: 8,020
Сказал(а) спасибо: 2
Поблагодарили 317 раз(а) в 317 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
|

08.01.2012, 12:30
Цитата:
Сообщение от aag
Дурак движок пусту строку слопал)))
|
Не понял.
Цитата:
Сообщение от aag
Был "пустой крюк",
|
Тоже не понял.
|
|
|
Флудер
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
|

08.01.2012, 14:17
Я, честно говоря, тоже ничего не понял. Подозреваю, что движок, который строку слопал - имеется ввиду движок форума, а не шелл Питона.
|
|
|
ушёл... не вернётся)))
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
|

08.01.2012, 14:28
Цитата:
Сообщение от gromozeka
Подозреваю, что движок, который строку слопал - имеется ввиду движок форума, а не шелл Питона.
|
Ну да. Как с этим бороться - я не знаю. В блокнот, например, переносится с пустой строкой перед "qwerty" - я специально попробовал))) А здесь эта пустая ухает...
|
|
|
Флудер
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
|

08.01.2012, 14:48
Да, движок подглючивает. Вчера встретил ещё два разных и очень неприятных глюка.
Винитарх, ааг, вы где сейчас? Продолжить с основами или всякие фишки начать показывать?
|
|
|
ушёл... не вернётся)))
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
|

08.01.2012, 14:57
Цитата:
Сообщение от gromozeka
Винитарх, ааг, вы где сейчас? Продолжить с основами или всякие фишки начать показывать?
|
Понятия не имею))) Мне бы как-то денёк другой тупо потыкаться, чтоб хотя бы от "каракулей" передёргивать перестало)))
|
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
|