Scalar Types, Operators, and Control Flow

Scalar Types

  • int (42)

    • arbitrary precision integer

    • unlimited precision signed integer

>>> 10
10
>>> 0b10
2
>>> 0010
8
>>> 0x10
16
>>> int (3.5)
3
>>> int(-3.5)
-3
>>> int("496")
496
>>> int ("10000", 3)
81
  • float (4.2)

    • 64-bit floating point numbers

    • IEEE-754 double-precision with 53-bits of binary precision

    • 15-16 significant digits in decimal

>>> 3.125
3.125
>>> 3e8
300000000.0
>>> 1.616e-35
1.616e-35
>>> float(7)
7.0
>>> float("1.618")
1.618
>>> float("nan")
nan
>>> float("inf")
inf
>>> float("-inf")
-inf
>>> 3.0 + 1
4.0
  • None (NoneType)

    • the null object

    • Null value

    • Often represents the absence of a value

>>> None
>>> a = None
>>> a is none
True
  • bool (True/False)

    • boolean logical values

>>> True
True
>>> False
False
>>> bool(0)
False
>>> bool(42)
True
>>> bool(-1)
True
>>> bool(0.0)
False
>>> bool(0.207)
True
>>> bool(-1.117)
True
>>> bool([])
False
>>> bool([1, 5, 9])
True
>>> bool("")
False
>>> bool("Spam")
True
>>> bool("False")
True
>>> bool("True")
True

Relational Operators

==

value equality / equivalence

!=

value inequality / inequivalence

<

less-than

>

greater-than

<=

less-than or equal

>=

greater-than or equal

>>> g = 20
>>> g == 20
True
g == 13
False
>>> g != 20
False
g != 13
True
>>> g < 30
True
>>> g <= 20
True
>>> g > 30
False
>>> g >= 20
True

Control Flow

Conditional statement

Branch execution based on the value of an expression

if statement

# Syntax
>>> if expression:
    block

# Examples
>>> if True:
...    print("It's true!")
...
It's True
>>> if False:
...    print("It's true!")
...
>>> if bool("eggs"):
...    print("Yes please!")
...
Yes please!
>>> if "eggs" :
...    print("Yes please!")
...
Yes please!
>>>

Else-clause

>>> if h > 50 :
...    print("Greater than 50")
... else:
...    print("50 or smaller")
50 or smaller
>>> if h > 50:
...    print("Greater than 50")
... else:
...    if h < 20:
...        print("Less than 20")
...    else:
...        print ("Between 20 and 50")
Between 20 and 50
>>> if h > 50:
...    print("Greater than 50")
... elif h < 20:
...    print("Less than 20")
... else:
...    print("Between 20 and 50")
Between 20 and 50

While-loops

# Syntax
while expression:
  block

# Example (will print 12345)
c = 5
while c != 0:
  print(c)
  c -= 1

# Example (will print 54321)
c = 5
while c:
  print(c)
  c -= 1

## int truthiness
# bool(5) == True
# bool(4) == True
# ...
# bool(0) == False

Break

  • Many languages support a loop ending in a predicate test

  • C, C++, C#, and Java have do-while

  • Python requires you to use while True and break

  • break jumps out of the inner-most executing loop to the line immediately after it

while True:
  response = input()
  if int(response) % 7 == 0:
    break
# start typing in numbers until a number is divisible by 7