Найти - Пользователи
Полная версия: Не могу понять что неправильно
Начало » Центр помощи » Не могу понять что неправильно
1
Qwerty16
def time_test(n):
    def bs1(a):
        for i in reversed(range(len(a) + 1)):
            f = True
            for j in range(i - 1):
                if a[j] > a[j + 1]:
                    t = a[j]
                    a[j] = a[j + 1]
                    a[j + 1] = t
                    f = False
            if f:
                break
        return a
    import timeit
    import random
    a = [0] * n
    m = n
    for i in range(n):
        a[i] = random.randint(0,m)
    b = a.copy()
    data = b
    z1 = timeit.timeit("bs1(data)", setup="from __main__ import bs1, data", number=1)
    return z1

>>> import time_tessss as p
>>> p.time_test(10)
Traceback (most recent call last):
File “<pyshell#1>”, line 1, in <module>
p.time_test(10)
File “CUsers/Bodanich/Desktop/python test2\time_tessss.py”, line 23, in time_test
z1 = timeit.timeit(“bs1(data)”, setup=“from __main__ import bs1, data”, number=1)
File “C:\Program Files\Python 3.5\lib\timeit.py”, line 213, in timeit
return Timer(stmt, setup, timer, globals).timeit(number)
File “C:\Program Files\Python 3.5\lib\timeit.py”, line 178, in timeit
timing = self.inner(it, self.timer)
File “<timeit-src>”, line 3, in inner
ImportError: cannot import name ‘bs1’
>>>

Вот выдает ошибку
FishHook
bs1 - это замыкание, функция, которая существует в области видимости time_test, а вы пытаетесь импортировать её из __main__, где её разумеется нет.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB