# This is a comment, indicated because it starts with a `#` character
# Comments are ignored by python.
# Integers
x = 5
y = 2
result = x * y
print(result)
print(x + y) # addition
print(x - y) # subtraction
print(x / y) # division
print(x // y) # truncated division (result is integer)
print(x % y) # modular arithmetic (integer remainder after division)
print(x ** y) # x to the power of y
# Floating point numbers
z = 5.0
t = 2.0
print(z * t)
print(z + t)
print(z - t)
print(z / t)
print(z // t)
print(z % t)
print(z ** t)
# Mixing integers and floating point numbers
# results in a floating point number
f = 5.0
g = 2
print(f * g)
# Complex numbers
a = 2 + 2j
b = 3 + 1j
print(a * b)
print(a + b)
print(a - b)
print(a / b)
#print(a // b) TypeError: can't take the floor of a complex number
#print(a % b) TypeError: can't mod complex numbers
print(a ** b)
# Mixing complex numbers with integers / floating point numbers
# results in a complex number
print(a * 2)
print(a + 2.0)
# String variables
name = "Mary"
otherName = 'Joe'
longName = '''Supercalifregilistic
expialadocious
rumpilstiltskin'''
print(name)