Introduction to Computer Programming

Lab 7: timing and tuples

pre-lab exercises


trying new Python features in the IDLE shell.

    >>> from time import perf_counter_ns
    >>> perf_counter_ns()
    >>> perf_counter_ns()

    >>> perf_counter_ns() - perf_counter_ns()   # surprised?
    
    >>> t0 = perf_counter_ns()
    >>> t0
    >>> t1 = perf_counter_ns()
    >>> d = t1 - t0
    >>> d           # approximated elapsed nanoseconds
    >>> d / 1000    # microseconds
    >>> d / 10**6   # milliseconds
    >>> d / 10**9   # seconds

    >>> 34 / 5
    >>> 34 // 5
    >>> 34 % 5
    >>> divmod(34, 5)

    >>> name = ('Nori', 'Brandyfoot')
    >>> type(name)
    >>> name[0]
    >>> name[1]
    >>> name[0] = 'Frodo'

    >>> wacky = ('some words', 91, False)
    >>> len(wacky)
    >>> wacky[2]
    >>> wacky[-1]
    >>> wacky[-3]
    >>> wacky[3]
    >>> wacky + ('more words', 41.7)
    >>> for x in wacky:
            print(x)
    >>> more_wacky = wacky + ('more words', 41.7)
    >>> more_wacky
    >>> more_wacky[1:4]

    >>> ()
    >>> type(())
    >>> len(())

    >>> type(('hello'))
    >>> type(('hello',))

    >>> even_wackier = more_wacky[:2] + (True, ('nested', 'tuple')) + more_wacky[3:]
    >>> len(even_wackier)
    >>> even_wackier
    >>> even_wackier[3]
    >>> even_wackier[3][1]
    >>> even_wackier[3][1][2]
            
    >>> data = (18, 50, 11, 67, 78, 42)   # enter any numbers you would like
    >>> data
    >>> len(data)
    >>> min(data)   # built-in min works on tuples!
    >>> max(data)   # likewise max
    >>> sum(data)   # sum, too

    >>> 67 in data   # in works on tuples!

    >>> (q, r) = divmod(103, 7)
    >>> q
    >>> r