Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Python
Перезагрузить страницу Год Питона, говорят)))
Ответ
 
Опции темы Опции просмотра
  (#16 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 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]
про "+" и "*" уже было.
Ответить с цитированием
  (#17 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 08.01.2012, 01:03

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

1) я имел в виду, что range(1,10) это список чисел от 1 до 9 включительно, не до 10.
2) чуствителен. переменные могут быть в любом регистре.
Ответить с цитированием
  (#19 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 08.01.2012, 01:16

Работа со списками просто супер - посмотрел доки. Правда доступ необычен - справа.
Ответить с цитированием
  (#20 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 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
Ответить с цитированием
Ads.
  (#21 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 08.01.2012, 02:34

Ок. Как я объяснял выше, этот однострочный for, который Вы ввели в интерпретаторе, может быть полностью самостоятельной программой, а может быть, согласно питоновскому синтаксису, частью блока for-else, поэтому когда Вы ввели первую строчку в шелле, интерпретатор ждал от Вас одного из двух - либо написания блока else, либо нажатия на Enter как подтверждение того, что больше ждать ничего не надо, можно выполнять, а получил "qwerty" и поэтому стал ругаться. Если Вы нажмёте Enter после введения этой строки не один раз, а дважды, а потом введёте "qwerty", пример будет работать.
Ну или просто введите его не в интерпретаторе, а в текстовом редакторе и запустите, тоже отработает.
Ответить с цитированием
  (#22 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 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
Ответить с цитированием
  (#23 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 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
>>>
Дурак движок пусту строку слопал)))

Конец команды "мутноватый", но уловимый)))

Вы там, МаЭстры, шустрите, конечно... Но я потихоньку...
Ответить с цитированием
  (#24 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 08.01.2012, 03:17

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

Был "пустой крюк", просто:
Цитата:
Сообщение от aag Посмотреть сообщение
Дурак движок пусту строку слопал)))
Ответить с цитированием
  (#26 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 08.01.2012, 12:30

Цитата:
Сообщение от aag Посмотреть сообщение
Дурак движок пусту строку слопал)))
Не понял.
Цитата:
Сообщение от aag Посмотреть сообщение
Был "пустой крюк",
Тоже не понял.
Ответить с цитированием
  (#27 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 08.01.2012, 14:17

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

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

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

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

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку(и) - говорят, что должно работать... wampu Prolog 7 02.08.2007 09:32
О нашем форуме говорят... Винитарх Prolog 6 29.05.2006 20:02



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов