card 1 of 25

>>> x = 1.3

>>> (type(x),x)

evaluate expression by substituting values for variables

(<type 'float'>, 1.3)

card 2 of 25

>>> MyVar = False, 'Q'

>>> type(MyVar)

>>> MyVar*2

remember that comma is used to form tuples

<type 'tuple'>

(False,'Q',False,'Q')

card 3 of 25

>>> emblem = "xaraktor"

>>> type(emblem)

this one is easy

<type 'str'>

card 4 of 25

>>> E = else = range(3)

>>> E[1]

multiple assignments evaluate from the same expression

SyntaxError: cannot assign to reserved word in Python language

card 5 of 25

>>> E = Else = range(3)

>>> E[2],Else[1]

remember that comma is used to form tuples

(2,1)

card 6 of 25

>>> (x1,x2) = (2,50)

>>> x1*x2

tuple assignment is from corresponding terms on right of '='

100

card 7 of 25

>>> a,b = True,False

>>> a or b

tuple assignment is from corresponding terms on right of '='

True

card 8 of 25

>>> (x1,x2) = range(3)

>>> x1*x2

tuple assignment is from corresponding terms on right of '='

ValueError: too many values to unpack/unbox

card 9 of 25

>>> (x1,x2) = 298

>>> x1-x2

tuple assignment is from corresponding terms on right of '='

TypeError: integer does not match tuple assignment

card 10 of 25

>>> Home, Home, Home = range(3)

>>> Home

confusing, but evaluate term-by-term assignment, left to right

2

card 11 of 25

>>> T, v = "Shirt", "beach"

>>> T, v = v, T

>>> T + v

in this case, do evaluations before assignments

'beachShirt'

card 12 of 25

**Python 2 Question**

>>>

>>> A = 4

>>> B = A*B

>>> C = B+B

>>> print C

>>> D = print C

keep track of variable values line by line to evaluate

NameError: name 'B' is not defined in 'A*B'

card 13 of 25

**Python 2 Question**

>>>

>>> A = 4

>>> B = A*A

>>> C = B+B

>>> print C

>>> D = print C

keep track of variable values line by line to evaluate

32

SyntaxError: 'D = print C' invalid syntax

card 14 of 25

**Python 3 Question**

>>>

>>> A = 4

>>> B = A*A

>>> C = B+B

>>> D = print(C)

>>> print(type(D))

keep track of variable values line by line to evaluate

<class 'NoneType'>

card 15 of 25

>>> x, y = a, b = True, False

>>> x, a, y, b

multiple assignment works even with tuple assignment

(True,True,False,False)

card 16 of 25

>>> x, y = a, b = True, False

>>> del b

>>> x, a, y, b

'del' is a command to remove/undefine a variable

NameError: name 'b' is not defined

card 17 of 25

>>> S = [20,30,2,5,-4]

>>> [ 2*x for x in S ]

evaluate the list comprehension using the value for S

[40,60,4,10,-8]

card 18 of 25

>>> S = [20,30,2,5,-4]

>>> S[-1]*S[2]

this one is simple

-8

card 19 of 25

>>> S = [20,30,2,5,-4]

>>> del S[1]

>>> S[-1]*S[2]

the 'del S[1]' changes S by removing just the specified item

-20

card 20 of 25

>>> S = "cases of vinegar".split()

>>> S[1][0]+S[2][3]

evaluate the assignment to S first

'oe'

card 21 of 25

>>> t = ["ab",1.5]

>>> u = [t,22]

>>> u

>>> u[0]

>>> u[0][0]

>>> u[0][0][0]

>>> u[0][0][0][0]

evaluate values before assigning

[['ab',1.5],22]

['ab',1.5]

'a'

'a'

card 22 of 25

>>> one = [True,True]

>>> two = [one,"second"]

>>> three = [one,two,"third"]

>>> len(three)

>>> len(three[1])

evaluate values before assigning

3

2

card 23 of 25

>>> control = [9,2,2,7]

>>> DeTail = control + 25

>>> DeTail[-1]

evaluate values before assigning

TypeError: can only concatenate list to list

card 24 of 25

>>> control = [9,2,2,7]

>>> DeTail = control + [25]

>>> Detail[-1]

evaluate values before assigning

NameError: name 'Detail' is not defined

card 25 of 25

>>> control = [9,2,2,7]

>>> DeTail = control + [25]

>>> DeTail[-1]

evaluate values before assigning

25

(use browser reload to restart this problem set)