print 40 + 2

print 7*6

print 67-25

print 798/19

"""
Explanation: Lesson One
This lesson will go over digital data input and introduction to programming in Python.
Sensors
If someone were to ask you what color an apple is, you would look at the apple and tell them what color you saw. If they then asked you which smelled better, roses or lillies, you would use your nose to smell both of them. Humans get information around their surroundings through our five senses, sight, hearing, touch, smell, and taste. Similarly, robots and computers can collect information by using sensors. Sensors are the wardrobe between real life and the digital world. Whenever your favorite singer records a new album, she has to record it using a microphone, which is a sensor that can detect and record sound. When producers record the latest action movie, they use video cameras, which is a sensor that can detect light.
With the class or in a group, discuss what other types of sensors a computer might use to get information.
Types of Sensors
There are two main types of sensors, digital and analog. A digital sensor is one that can record whether a signal is on or off, for example a button. On the other hand, an analog sensor is one that can record a spectrum of values, or possibly infinitly many. One example is a temperature sensor. If a temperature sensor can record values from $0 ^\circ$C to $30^\circ$C. One possible value it can record is $10^\circ$C, or $15^\circ$C, or $14.12^\circ$C, or $3.141592^\circ$C. If I were to keep on listing numbers, it would be impossible for me to list every single possible value that the sensor could record!
With the class, for each sensor that you listed in the exercise above, indicate whether it is digital or analog.
Introduction to Python
Here we will introduce you to python, a high level language that will allow us to send commands to the Raspberry Pi and PSoC.
Firstly, python can be used as a calculator, and can be used to easily do arithmetic. In the code blocks (blocks with In[] and are shaded gray), you can write python code and run it by pressing "shift + enter. In the example below, see how you can perform simple operations. Remember to press "shift + enter" or the "run" button in the toolbar.
End of explanation
"""


#Write your code here

#Solution
print 5719*35914
print 7491484+49144192
print 7028004/17
print 4910441-104313

"""
Explanation: We use the print statement in order to indicate that we want to display the answer to the screen. In the box below, write code to find the answers to the following.

5719*35914
7491484+49144192
7028004/17
4910441-104313
End of explanation
"""


print "Hi, I Love Python"

"""
Explanation: We can also use the print system to print letters and words, such as the example below. In order to print a word, the word has to be surrounded by a pair of quotation marks (" ")
End of explanation
"""


#Write your code here

#Solution
print "Hi, my name is Nom!"

"""
Explanation: Write some code below to display "Hi, my name is (your name here)!".
End of explanation
"""


name = "Billy"

print name

"""
Explanation: One important concept/ability that programming can do is to remember past values using variables. We can them to remember past values, then call on them later on when we need their values. For example, the example below stores a name, then prints it out.
End of explanation
"""


name = "Bobby"
name = "Bambi"

print name

"""
Explanation: However, if we then reassign the variable later on, it will remember the latest assignment.
End of explanation
"""


#import python library with buttonPressed() method
#b = new Button()


"""
Explanation: Interfacing with the Raspberry Pi
Now we will see how we can use python to read sensors with the Raspberry pi. If you are unfamiliar with the raspberry pi please read the getting started with raspberry pi lesson here.
Once you have set up the PSoC board with the raspberry pi, follow instructions on how to connect the button with the pi.
End of explanation
"""


yes = True
no = False

print yes
print no

"""
Explanation: Remember how before we dealt with numbers such as 1,49,3 in the calculations section. Those are a class of values called integers, and the words, such as "Bambi", "Bobby", "Hi", are values known as strings. Here we will introduce another type of values called booleans. Simply put, booleans are either true or false and are denoted as "True" and "False". We can print them like we did with integers and strings.
End of explanation
"""


if(True):
    print "THIS IS TRUE"
else:
    print "THIS IS FALSE"

"""
Explanation: Booleans are useful because they are needed for control flow statements. Control flow statements specifies the order individual statements should be made. The one covered here is the if/else structure. An example is shown below.
End of explanation
"""


if(False):
    print "THIS IS TRUE"
else:
    print "THIS IS FALSE"

"""
Explanation: The first line in the program asks whether or not the statement in the parenthesis is True, or False. Since it is true, it runs the lines following the if statement, thus it prints "THIS IS TRUE". Compare it to the example below.
End of explanation
"""


like_candy = True

if(like_candy):
    print "You like candy"
else:
    print "You do not like candy"

"""
Explanation: In the example above, the boolean value in the "if" statement's parenthesis is False, so it skips over it and runs the statement in code following the "else" block. If statements don't have just take in True or False, but also variables that contain boolean values. See the example below.
End of explanation
"""


#print b.buttonPressed()

"""
Explanation: We set the variable "like_candy" to True and then pass it in the if statement. Since like_candy is true, we run the code following the if block. 
Now we will see how we can use these tools to write a simple program that can interface with sensors. A button is a digital sensor, and one way we can see it is to call b.buttonPressed(). This is pretty complicated syntax, so don't worry about it for now. Just know that b.buttonPressed() returns a boolean value, corresponding to whether the button is pressed or not. If the button is pressed, b.buttonPressed() is True, if the button is not presesd, it is false.
Do not press the button and run the following code.
End of explanation
"""


#code here

"""
Explanation: Now press the button and run the code above again (just click on it and do "shift + enter").
Predict what the following code would do
```python
if(b.buttonPressed()):
    print "I AM IM-PRESSED"
else:
    print "I AM NOT IM-PRESSED"
```

Write some code below that prints your name if the button is pressed, and your friends name if it is not pressed.
End of explanation
"""


