Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 11, 2013 10:39:56

shok9894
Зарегистрирован: 2013-12-11
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеные циклы и их производительность

Помогите ускорить работу данного скрипта:

import time
time.clock()
i=1
y=0
s=0
to=30
while i<=to:
    if i<10:
        print str(i)+': ',
    else:
        print str(i)+':',
    i=i+1
    n=1
    s=0
    while n<=to:
        s=s+1
        print s,
        y=y+s;
        if s==to:
            print ''
        n=n+1
print y
total=time.clock()

Офлайн

#2 Дек. 11, 2013 11:22:06

Master_Sergius
Зарегистрирован: 2013-09-12
Сообщения: 271
Репутация: +  7  -
Профиль   Отправить e-mail  

Вложеные циклы и их производительность

А почему не циклы for?



———————————————————————————
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Офлайн

#3 Дек. 11, 2013 12:52:59

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Вложеные циклы и их производительность

shok9894
Помогите ускорить работу данного скрипта:

y = 0
num = 31
for i in xrange(1, num):
    if i < 10:
       print ''.join([str(i), ': ']),
    else:
       print ''.join([str(i), ':']),
    for j in xrange(1, num):
        print j,
        y += j
    print ''
      
print y



Отредактировано Budulianin (Дек. 11, 2013 12:53:48)

Офлайн

#4 Дек. 11, 2013 17:46:25

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

Вложеные циклы и их производительность

:)

shok9894
Помогите ускорить работу данного скрипта:
довольно быстрый вариант:
print 13950
значение получаете по скрипту, который вы привели.

Т.Е. пока вы не указали изменяемые входы - задача оптимизации по быстродействию решается тривиально.
Очень трудно представить в каких условиях такой скрипт будет критичен по времени исполнения. Может объясните подробнее откуда такая задача взялась?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version