In [1]:
h_bar = 1.0
if h_bar == 1.0:
    print("h-bar isn't really unity! Resetting...")
    h_bar = 1.05457173e-34


h-bar isn't really unity! Resetting...

In [2]:
h_bar = 1
if h_bar == 1:
    print("h-bar isn't really unity! Resetting...")
    h_bar = 1.05457173e-34
h = h_bar * 2 * 3.14159


h-bar isn't really unity! Resetting...

In [3]:
1 == 1


Out[3]:
True

In [4]:
1 == 1.0


Out[4]:
True

In [5]:
1 is 1.0


Out[5]:
False

In [6]:
1 is 1


Out[6]:
True

In [7]:
10**10 == 10**10


Out[7]:
True

In [8]:
10**10 is 10**10


Out[8]:
False

In [9]:
None is None


Out[9]:
True

In [10]:
0 is None


Out[10]:
False

In [11]:
0 == None


Out[11]:
False

In [12]:
h_bar = 1.05457173e-34 if h_bar == 1.0 else h_bar

In [13]:
val = 0.0
1.0 / val


---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-13-f48356829674> in <module>()
      1 val = 0.0
----> 2 1.0 / val

ZeroDivisionError: float division by zero

In [14]:
try:
    inv = 1.0 / val
except: 
    print("A bad value was submitted {0}, please try again".format(val))


A bad value was submitted 0.0, please try again

In [15]:
try:
    inv = 1.0 / val
except ZeroDivisionError: 
    print("A zero value was submitted, please try again")


A zero value was submitted, please try again

In [16]:
try:
    inv = 1.0 / val
except ZeroDivisionError: 
    print("A zero value was submitted, please try again")
except: 
    print("A bad value was submitted {0}, please try again".format(val))


A zero value was submitted, please try again

In [17]:
if val == 0.0:
    raise ZeroDivisionError
inv = 1.0 / val


---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-17-efb89bed2140> in <module>()
      1 if val == 0.0:
----> 2     raise ZeroDivisionError
      3 inv = 1.0 / val

ZeroDivisionError: 

In [18]:
if val == 0.0:
    raise ZeroDivisionError("taking the inverse of zero is forbidden!")
inv = 1.0 / val


---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-18-4665e2c4c5e3> in <module>()
      1 if val == 0.0:
----> 2     raise ZeroDivisionError("taking the inverse of zero is forbidden!")
      3 inv = 1.0 / val

ZeroDivisionError: taking the inverse of zero is forbidden!

In [19]:
t = 3
while 0 < t:
    print("t-minus " + str(t))
    t = t - 1
print("blastoff!")


t-minus 3
t-minus 2
t-minus 1
blastoff!

In [20]:
while False:
    print("I am sorry, Dave.")
print("I can't print that for you.")


I can't print that for you.

In [21]:
# Uncomment the following to print forever
#t = 3
#while True:
#    print("t-minus " + str(t))
#    t = t - 1
#print("blastoff!")

In [22]:
fib = [1, 1]
while True:
    x = fib[-2] + fib[-1]
    if x%12 == 0:
        break
    fib.append(x)

In [23]:
for t in [3, 2, 1]:
    print("t-minus " + str(t))
print("blastoff!")


t-minus 3
t-minus 2
t-minus 1
blastoff!

In [24]:
for t in [7, 6, 5, 4, 3, 2, 1]:
    if t%2 == 0:
        continue
    print("t-minus " + str(t))
print("blastoff!")


t-minus 7
t-minus 5
t-minus 3
t-minus 1
blastoff!

In [25]:
for letter in "Gorgus":
    print(letter)


G
o
r
g
u
s

In [26]:
for x in {"Gorgus", 0, True}:
    print(x)


0
True
Gorgus

In [27]:
d = {"first": "Albert", 
     "last": "Einstein", 
     "birthday": [1879, 3, 14]}

for key in d:
    print(key)
    print(d[key])
    print("======")


birthday
[1879, 3, 14]
======
last
Einstein
======
first
Albert
======

In [28]:
d = {"first": "Albert", 
     "last": "Einstein", 
     "birthday": [1879, 3, 14]}

print("Keys:")
for key in d.keys():
    print(key)

print("\n======\n")

print("Values:")
for value in d.values():
    print(value)

print("\n======\n")

print("Items:")
for key, value in d.items():
    print(key, value)


Keys:
birthday
last
first

======

Values:
[1879, 3, 14]
Einstein
Albert

======

Items:
birthday [1879, 3, 14]
last Einstein
first Albert

In [29]:
for item in d.items():
    print(item)


('birthday', [1879, 3, 14])
('last', 'Einstein')
('first', 'Albert')

In [30]:
quarks = {'up', 'down', 'top', 'bottom', 'charm', 'strange'}
for quark in quarks:
    print(quark)


bottom
down
up
strange
top
charm

In [31]:
upper_quarks = []
for quark in quarks:
    upper_quarks.append(quark.upper())

In [32]:
upper_quarks = [quark.upper() for quark in quarks]
upper_quarks


Out[32]:
['BOTTOM', 'DOWN', 'UP', 'STRANGE', 'TOP', 'CHARM']

In [33]:
entries = ['top', 'CHARm', 'Top', 'sTraNGe', 'strangE', 'top']
quarks = {quark.lower() for quark in entries}
quarks


Out[33]:
{'charm', 'strange', 'top'}

In [34]:
entries = [1, 10, 12.5, 65, 88]
results = {x: x**2 + 42 for x in entries}
results


Out[34]:
{88: 7786, 1: 43, 10: 142, 12.5: 198.25, 65: 4267}

In [35]:
{x**2 for x in fib if x%5 == 0}


Out[35]:
{25, 3025}

In [36]:
coords = {'x': 1, 'y': 2, 'z': 3, 'r': 1, 'theta': 2, 'phi': 3}
polar_keys = {'r', 'theta', 'phi'}
polar = {key: value for key, value in coords.items() if key in polar_keys}
polar


Out[36]:
{'r': 1, 'theta': 2, 'phi': 3}