C.3 Chapter 3

C.3 Chapter 3

  1. Coding basic loops . If you work through this exercise, you'll wind up with code that looks like the following:

     >>>  S = 'spam'  >>>  for c in S:  ...  print ord(c)  ... 115 112 97 109 >>>  x = 0  >>>  for c in S: x = x + ord(c)  ... >>>  x  433 >>>  x = []  >>>  for c in S: x.append(ord(c))  ... >>>  x  [115, 112, 97, 109] >>>  map(ord, S)  [115, 112, 97, 109] 
  2. Backslash characters . The example prints the bell character ( \a ) 50 times; assuming your machine can handle it, you'll get a series of beeps (or one long tone, if your machine is fast enough). Heywe warned you.

  3. Sorting dictionaries . Here's one way to work through this exercise; see Chapter 2 if this doesn't make sense:

     >>>  D = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5, 'f':6, 'g':7}  >>>  D  {'f': 6, 'c': 3, 'a': 1, 'g': 7, 'e': 5, 'd': 4, 'b': 2} >>> >>>  keys = D.keys()  >>>  keys.sort()  >>>  for key in keys:  ...  print key, '=>', D[key]  ... a => 1 b => 2 c => 3 d => 4 e => 5 f => 6 g => 7 
  4. Program logic alternatives . Here's how we coded the solutions; your results may vary a bit.

    1.  L = [1, 2, 4, 8, 16, 32, 64] X = 5 i = 0 while i < len(L):     if 2 ** X == L[i]:         print 'at index', i         break     i = i+1 else:     print X, 'not found' 
    2.  L = [1, 2, 4, 8, 16, 32, 64] X = 5 for p in L:     if (2 ** X) == p:         print (2 ** X), 'was found at', L.index(p)         break else:     print X, 'not found' 
    3.  L = [1, 2, 4, 8, 16, 32, 64] X = 5 if (2 ** X) in L:     print (2 ** X), 'was found at', L.index(2 ** X) else:     print X, 'not found' 
    4.  X = 5 L = [] for i in range(7): L.append(2 ** i) print L if (2 ** X) in L:     print (2 ** X), 'was found at', L.index(2 ** X) else:     print X, 'not found' 
    5.  X = 5 L = map(lambda x: 2**x, range(7)) print L if (2 ** X) in L:     print (2 ** X), 'was found at', L.index(2 ** X) else:     print X, 'not found' 


Learning Python
Learning Python: Powerful Object-Oriented Programming
ISBN: 0596158068
EAN: 2147483647
Year: 1999
Pages: 156
Authors: Mark Lutz

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net