Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 3, 2013 16:54:59

LOL
Зарегистрирован: 2013-08-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь по циклам.

Спасибо уже понял, так что за стиль С??

Alen

Офлайн

#2 Авг. 3, 2013 17:21:41

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Нужна помощь по циклам.

Это более питонично

for i in range(10,0,-1):
    print i 

Отредактировано Singularity (Авг. 3, 2013 17:22:16)

Офлайн

#3 Авг. 3, 2013 17:30:31

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Нужна помощь по циклам.

Спасибо уже понял, так что за стиль С?

Для начала создание лишней пременной: счетчика i=10 , затем создание цикла, затем ручной декремент.

Офлайн

#4 Авг. 3, 2013 17:31:29

LOL
Зарегистрирован: 2013-08-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь по циклам.

То есть цикл for более питонично чем цикл while,почему тогда все таки в Python используют while??,я вам отвечу для каких то моментов удобен for,для других случаев удобен while.

Офлайн

#5 Авг. 3, 2013 18:09:41

Olej
Зарегистрирован: 2013-08-03
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь по циклам.

LOL
какой стиль С??

Стиль С (с таким же успехом вы можете назвать его стилем BASIC, PASCAL, или Java) - это когда используют не естественные возможности языка Python, а делается “пересказ” того, как это записывается на других языках программирования.

Ваш пример “в стиле С” должен выглядеть так:
i = 10
while i >= 0:
    print i
    i -= 1

Офлайн

#6 Авг. 3, 2013 18:14:02

Olej
Зарегистрирован: 2013-08-03
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь по циклам.

LOL
То есть цикл for более питонично чем цикл while,почему тогда все таки в Python используют while??

Вовсе нет. Разницы между for и while нет.
Для Python более естественно использование range(), чем запись параметров цикла.

Так же, например, как в поиске чисел Фибоначи запись = в присвоении кортежа :
a, b = 0, 1
while b < 10:
    print b
    a, b = b, a + b
Это - стиль Python. На других языках такое невыразимо.

Офлайн

#7 Авг. 3, 2013 18:36:55

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Нужна помощь по циклам.

Офлайн

#8 Авг. 3, 2013 23:49:32

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Нужна помощь по циклам.

Olej
раз уж вы так говорите,то для python2 говорите про xrange в циклах. Ибо при range(int(10e6)) и более лишняя память будет забиваться на построение списка, нежели xrange будет отрабатывать подобно итератору в плане ресурсопотребления.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version