type('I am amazing!')

type(145)

type(2.5)

"""
Explanation: Variables, expressions, and statements
Values and Types
Values are basic things a program works with. Values come in several different types:
* A string is any value between quotes ('' single or double "") e.g. 'Hello Coding Circle', "I am very smart", "342"
* An integer is any whole number, positive or negative e.g. 145, -3, 5
* A float is any number with a decimal point e.g. 3.14, -2.5 
To tell what type a value is, use the built-in function type()
End of explanation
"""


print("Hello World")

"""
Explanation: To print a value to the screen, we use the function print()
e.g. print(1)
End of explanation
"""


"Hello World"

"Hello World";

"""
Explanation: Jupyter notebooks will always print the value of the last line so you don't have to. You can suppress this with a semicolon ';'
End of explanation
"""


WHALE = 'Orca'
number_of_whales = 10
weight_of_1_whale = 5003.2

"""
Explanation: TRY IT
Predict and then print the type of 'Orca'
Variables
A variable is a name that you give a value. You can then use this name anywhere you would use the value that the name refers to. 
It has some rules.
* It must only contain letters, numbers and/or the underscore character. 
* However, it cannot start with a number.
* It can start with an underscore but this usually means something special so stick to letters for now. 
To assign a value to a variable, you use the assignment operator, which is '=' e.g., my_name = 'Charlotte'
End of explanation
"""


print(number_of_whales)

"""
Explanation: Notice that when you ran that, nothing printed out. To print a variable, you use the same statement you would use to print the value. e.g. print(WHALE)
End of explanation
"""


1 + 2

fish = 15
fish_left = fish - 3
print(fish_left)

print(3 * 2.1)

number_of_whales ** 2

print(5 / 2)

"""
Explanation: TRY IT
Assign the name of a sea creature to the variable sea_creature. Then print the value.
Reccomendation 
Name your variables with descriptive names. Naming a variable 'a' is easy to type but won't help you figure out what it is doing when you come back to your code six months later.
Operators and operands
Operators are special symbols that represent computations that the computer performs. We have already learned one operator: the assignment operator '='.
Operands are the values the operator is applied to.
Basic math operators
* +  addition
* - subtraction
* * multiplication
* / division
* ** power (exponentiation)
To use these operators, put a value or variable on either side of them. You can even assign the new value to a variable or print it out. They work with both integers or floats.
End of explanation
"""


number_of_whales = 8
number_of_whales = number_of_whales + 2 
print(number_of_whales)

"""
Explanation: Hint: You can use a variable and assign it to the same variable name in the same statement.
End of explanation
"""


2 * 3 + 4 / 2

(2 * (3 + 4)) / 2

"""
Explanation: TRY IT
Find the result of 6^18.
Order of operations
You can combine many operators in a single python statement. The way python evaluates it is the same way you were taught to in elementary school. PEMDAS for Please Excuse My Dear Aunt Sally. Or 1. Parentheses, 2. Exponents, 3. Multiplication, 4. Division, 5. Addition, 6. Subtraction. Left to right, with that precedence. It is good practice to always include parentheses to make your intention clear, even if order of operations is on your side.
End of explanation
"""


5 % 2

"""
Explanation: Modulus operator
The modulus operator is not one you were taught in school. It returns the remainder of integer division. It is useful in a few specific cases, but you could go months without using it.
End of explanation
"""


print('Hello ' + 'Coding Circle')

print("The " + WHALE + " lives in the sea.")

"""
Explanation: TRY IT
Find if 12342872 is divisible by 3
String operations
The + operator also works on strings. It is the concatenation operator, meaning it joins the two strings together.
End of explanation
"""


print("My name is" + "Charlotte")

"""
Explanation: Hint: Be careful with spaces
End of explanation
"""


my_name = input()
print(my_name)

"""
Explanation: TRY IT
Print out Good morning to the sea creature you stored in variable named sea_creature earlier.
Asking the user for input
To get an input for the user we use the built-in function input() and assign it to a variable.
NOTE: The result is always a string.
WARNING if you leave an input box without ever putting input in, jupyter won't be able to run any code. Ex. you run a cell with input and then re-run that cell before submitting input. To fix this hang the stop button in the menu.
End of explanation
"""


favorite_ocean_animal = input("What is your favorite sea creature?\n")
print("The " + favorite_ocean_animal + " is so cool!")

"""
Explanation: You can pass a string to the input() function to prompt the user for what you are looking for.
e.g. input('How are you feeling?')
Hint, add a new line character "\n" to the end of the prompt to make the user enter it on a new line.
End of explanation
"""


number_of_fish = input("How many fish do you want?\n")
number_of_fish_int = int(number_of_fish)
print(number_of_fish_int * 1.05)

"""
Explanation: If you want the user to enter a number, you will have to convert the string. Here are the conversion commands.

To convert a variable to an integer, use int -- e.g., int(variable_name)
To convert a variable to a float, use float -- e.g., float(variable_name)
To convert a variable to a string, use str -- e.g., str(variable_name)
End of explanation
"""


# Calculate the price of fish that a user wants
number_of_fish = input("How many fish do you want?\n") # Ask user for quantity of fish
number_of_fish_int = int(number_of_fish) # raw_input returns string, so convert to integer
print(number_of_fish_int * 1.05) # multiply by price of fish

"""
Explanation: TRY IT
Prompt the user for their favorite whale and store the value in a variable called favorite_whale.
Comments
Comments let you explain your progam to someone who is reading your code. Do you know who that person is? It is almost always you in six months. Don't screw over future you. Comment your code.
To make a comment: you use the # symbol. You can put a comment on its own line or at the end of a statement.
End of explanation
"""


