Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 16, 2016 12:30:39

EpicMandM
Зарегистрирован: 2016-08-16
Сообщения: 4
Репутация: +  2  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

Можно ли ограничить количество циклов оператора while?И как это сделать?

Отредактировано EpicMandM (Авг. 16, 2016 12:31:00)

Офлайн

#2 Авг. 16, 2016 12:44:09

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

n=int(input("введите количество циклоа"))
while n != 0:
print(n)
n -= 1

Офлайн

#3 Авг. 16, 2016 20:24:18

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

EpicMandM
ограничить количество циклов оператора while?
Это скорее вопрос о break
 while 1:
    i=i+1
    if i>10:
        break



Офлайн

#4 Авг. 16, 2016 21:31:38

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

а не проще тогда for использовать?

Офлайн

#5 Авг. 16, 2016 22:58:46

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

marvellik
а не проще тогда for использовать?
Бывает что выйти надо из середины исполняемого блока кода. Бывают условия много сложнее чем окончание итератора….



Офлайн

#6 Авг. 17, 2016 15:28:12

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

doza_and
Бывает что выйти надо из середины исполняемого блока кода. Бывают условия много сложнее чем окончание итератора….
break прекрасно работает в цикле for
А скорость цикла for выше, чем while

Офлайн

#7 Авг. 17, 2016 15:32:58

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

Elaphe
А скорость цикла for выше, чем while
эмм… поделитесь пожалуйста со мной почему так



————————————————
-*- Simple is better than complex -*-

Офлайн

#8 Авг. 24, 2016 10:27:54

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

terabayt
Тут видимо не про реализацию на питоне, а про то что фор O(n), а while O(m), где в зависимости от условия либо m == n либо m << n. Невнимательно прочитал.

PS. Может за счет того что на каждом шаге while вы проверку условия делаете.

Отредактировано noob_saibot (Авг. 24, 2016 10:30:16)

Офлайн

#9 Авг. 24, 2016 21:37:02

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

noob_saibot
Может за счет того что
Это попытки объяснить, то чего может и нет. Такие вопросы решают профилированием. А вообще Если вам важна разница во времени выполнения for vs while то у вас в цикле почти ничего и не делается. Такой цикл оптимизируется переходом на C. Сравнивать for vs while Это последнее чем я буду заниматься. Важно удобстов и достаточно ясное изложение того что вы хотите в программе сделать.



Офлайн

#10 Авг. 25, 2016 07:57:58

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Помогите пожалуйста!

doza_and
Такой цикл оптимизируется переходом на C.
Мало кто сможет переписать это на С, и еще меньше кто это перепишет так чтобы работало быстрее и стабильнее.

doza_and
Сравнивать for vs while Это последнее чем я буду заниматься.
С учетом того что питон используется еще и в научных вычислениях то нет ничего дурного в сравнении быстродействия циклов. И раз уж на то пошло сложности алгоритмов никто не отменял, на что в свою очередь сильно влияют for и while (то где и как их применить).

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version