|
adw0rd ↓
|
 |
|
14 Ноябрь, 2009, 03:06:39
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17615 Сила слова: 1.67
|
Есть два вида циклов while и for
L = [1,2,3,4,5]
for x in L:
print x,
# '1 2 3 4 5'
while True:
reply = raw_input('Enter: ')
if(reply == 'stop'): break
print reply.upper()
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
15 Ноябрь, 2009, 12:06:18 , спустя 8 часов 59 минут 39 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17615 Сила слова: 1.67
|
Рассмотрим for, если ему передать список, строку, кортеж - то будут в "x" значения.
L = [1,3,5]
for x in L:
print x,
# 1 3 5
S = 'str'
for x in S:
print x,
# s t r
T = (76, 45, 11)
for x in T:
print x,
# 76 45 11
а если передать словарь - то будут ключи:
D = {'a': 'abc', 'd': 'def', 'g': 'ghi'}
for x in D:
print x,
# a d g
Это тоже самое что пройтись по D.keys(), по умолчанию так и делается, чтобы пройтись по значениям надо вызвать метод явно: D.values()
D = {'a': 'abc', 'd': 'def', 'g': 'ghi'}
for x in D.values():
print x,
# abc def ghi
Спустя 3 минуты 34 секунды добавил Некоторым не хватает "нормального фора" как в сях и в php в частности:
for ($i = 0; $i < 100; $i++ ) {
echo $i;
}
Но, простите чем вам следующее выражение не поведение обычного фора?
for i in range(100):
print i,
Спустя 1 минуту 17 секунд добавил
L = [1,2,3,4,5]
for i in L:
print i,
for i in L.keys():
print i,
|
|
|
|
« Последнее редактирование: 15 Ноябрь, 2009, 12:06:18 от adw0rd »
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
14 Ноябрь, 2009, 03:38:43 , спустя
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17615 Сила слова: 1.67
|
В циклах python допустимы такие конструкции как break, continue, else, pass
while <expression 1>:
<statements 1>
if <expression 2>: continue
if <expression 3>: break
else:
<statemens 2>
а pass это просто пустышка:
while True:
pass
для того чтобы заполнить statemens, если оно пустое...
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
14 Ноябрь, 2009, 03:47:30 , спустя 8 минут 47 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17615 Сила слова: 1.67
|
пример генераторов списков,
вывод всех нечетных значений в списке:
L = [1,2,3,4,5,6]
N = [v for v in L if v % 2]
в N будет [1,3,5], так как нечетные будут давать остаток от деления, а четные нет
|
|
|
|
|
Записан
|
|
|
|
|
vasa_c ↓
|
 |
|
14 Ноябрь, 2009, 09:25:03 , спустя 5 часов 37 минут 33 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 81
Сообщений: 2459 Сила слова: 3.29
|
Но, простите чем вам следующее выражение не поведение обычного фора?
Поведение обычного фора можно и через while и через goto и через, прости господи, рекурсию можно получить.
Но лично мне нравится поведение обычного фора получать через for.
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
14 Ноябрь, 2009, 10:29:18 , спустя 1 час 4 минуты 15 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17615 Сила слова: 1.67
|
vasa_c, имхо, это все капризы
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
15 Ноябрь, 2009, 01:41:53 , спустя 3 часа 12 минут 35 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: 20784 Сила слова: 1.66
|
в N будет [1,3,5], так как нечетные будут давать остаток от деления, а четные нет
а это уже жопа прости :)
то есть вместо 1млна записей мне придется перебрать два миллиона и откинуть половину? :) на данух такое счастье, ведь суммирование - в разы более простая операция(в 1 такт если не ошибаюсь) нежели деление(а там вообще пиздец сложность :) )
нормальных
for($i=0; $i<$x; $i+= 2) {}
нет?
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
Абырвалг ↓
|
 |
|
15 Ноябрь, 2009, 02:02:19 , спустя 20 минут 26 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
PHP Infected, симфоеб, маконенавистник
Группа: Джедаи Карма: 80
Сообщений: 6094 Сила слова: 1.31
|
так он же вроде по значениям смотрит а не по ключам.
|
|
|
|
|
Записан
|
PHP does the job since 1995 Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
|
|
|
|
adw0rd ↓
|
 |
|
15 Ноябрь, 2009, 02:07:19 , спустя 5 минут
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17615 Сила слова: 1.67
|
а это уже жопа прости :)
то есть вместо 1млна записей мне придется перебрать два миллиона и откинуть половину? :) на данух такое счастье, ведь суммирование - в разы более простая операция(в 1 такт если не ошибаюсь) нежели деление(а там вообще пиздец сложность :) ) эм, не понял к чему это, я просто привел пример генератора списка, если хочешь приведи другой и я оформлю в виде генератора
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
15 Ноябрь, 2009, 02:08:24 , спустя 1 минуту 5 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: 20784 Сила слова: 1.66
|
adw0rd, я просто сказал что итерации с определенным шагом (ты же их делал вроде) должны выглядеть как операции с шагом))
Спустя 7 секунд добавил а не как костыль)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
adw0rd ↓
|
 |
|
15 Ноябрь, 2009, 02:08:55 , спустя 31 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17615 Сила слова: 1.67
|
нормальных
for($i=0; $i<$x; $i+= 2) {}
нет? такого именно вида нет, я уже об этом сказал.
скажи мне что у тебя в $x и я приведу пример аналога на python Спустя 27 секунд добавил
adw0rd, я просто сказал что итерации с определенным шагом (ты же их делал вроде) должны выглядеть как операции с шагом))
Спустя 7 секунд добавил а не как костыль)
я не показывал итерации с шагом
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
15 Ноябрь, 2009, 02:11:17 , спустя 2 минуты 22 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: 20784 Сила слова: 1.66
|
adw0rd, в х .. ну например 1млн )))
ну пример утрированный, как и сама задача - перебор с шагом != 1 ... я вот почти не разу не юзал вроде ... %)
устал я седня. грузчиков двое суток уже работаю, а сегодня еще ыл плотником, сборщиком мебели, сантехником, и блядбь не поверите, программистом на пхп еще придется побыть ))
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
adw0rd ↓
|
 |
|
16 Ноябрь, 2009, 05:09:21 , спустя 1 день 14 часов 58 минут 4 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17615 Сила слова: 1.67
|
$x = 1000000;
for($i=0; $i<$x; $i+= 2) {}
x = 1000000
i = 0
while i < x:
i += 2
нравятся короткие конструкции?
x=1000000;i=0
while i<x: i+=2
|
|
|
|
« Последнее редактирование: 16 Ноябрь, 2009, 05:09:21 от adw0rd »
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
15 Ноябрь, 2009, 02:40:57 , спустя
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: 20784 Сила слова: 1.66
|
ну да, я говорю же чтото неподумал, прости меня эдво, я провинился ...
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
adw0rd ↓
|
 |
|
15 Ноябрь, 2009, 02:53:43 , спустя 12 минут 46 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17615 Сила слова: 1.67
|
phpdude, да ладно, мы все тебя любим, просто ты бываешь резок, но такой ты уж есть )
|
|
|
|
|
Записан
|
|
|
|
|