0% found this document useful (0 votes)
8 views4 pages

Video 8 Paragraph of Code

Video 8 paragraph of code

Uploaded by

Riaz Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views4 pages

Video 8 Paragraph of Code

Video 8 paragraph of code

Uploaded by

Riaz Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

So welcome back.

Now we're going to start learning about the Python language and
you can think of this as talking to Python itself. And it turns out that there is a
way on most computers - whether it's a Windows computer and command line or a
Macintosh
or Linux box - to get Python started. And if you just run Python, it will take,
interactively, commands that you can type. And you have to type "python" at this
chevron prompt, is what we call it, but this also sort of fits into what next. So
Python is like "Okay. I'm here. I can handle any Python statement you can send me.
I'm ready to do whatever it is that you want to do. I don't know what to do. I need
you to tell me what to do." And so you can type a series of statements in Python.
And so the first statement that you might type
is an assignment statement; x equals 1. And so what is going on here? Now this,
this assignment statement is something that often confuses people when they move
from math to programming. An equal sign sort of has a direction to it; it's an
arrow. It really is saying "Dear Python, you've got a lot of memory - you've got a
lot of memory. Take a little tiny piece of that memory
and remember it and name it x. I might use that - I'm going to use that later -
and stick a 1 in it." So this is sort of like stick 1 in a
spare place in memory and name it x. print (x) says, go take whatever that spare
bit of memory was and bring it back out
and tell me what I put in it. Now, it's kind of redundant, but usually you're doing
something
more complex than this. Put something in memory and then take it back out; that's
the first thing. Now what this is doing is this is
an expression and that says take whatever's in x, which is a 1, and then add 1 to
it, which becomes 2, and then stick it back in x. So that adds 1 to x and then we
print that out
and it's a 2 and then we quit. Now if you type wrong things here, you're going to
get syntax errors. And Python is just going to tell you,
you know, syntax error, syntax error, syntax error, and away you go. But this is us
talking to Python. So what do we say to Python? You can almost think of this as
like
writing an essay where you start - and if you think back, you started learning an
alphabet and then
you used that alphabet to produce words and then used the words to produce
sentences and then you combined sentences to make paragraphs, which then make a
story. And we're going to do the same kind of thing. This is the program that we're
ultimately going to write. And don't worry about understanding what this story
does. We'll talk about this later, we're going to come back to this many times
throughout the course. This is a Python story about how to count words in a file in
Python. Okay? This solves that problem that I asked you to solve a little while
back of what the most common word was
and how many there are. And we'll come back to this several times in this course.
So if we start at vocabulary, the first thing we have in every programming language
is what's called reserved words. Now, what do we mean by reserved words? Well,
these are words that if we use these words, we must use them to mean the thing
that Python expects them to mean. Another way to put that is we can't use them
elsewhere. We can't make up a variable named import. We can't make a variable named
assert; because if Python sees assert, it means something very specific to Python.
If it sees if, it means something. If it sees for or pass or while - where is
while? There is while. These mean things. The best way to think about this is
Python is kind of like a dog. And if you're talking to a dog and you say hey, dog,
do you like, you know, Beethoven or Bach better? The dog is hearing - is like blah,
blah, blah, blah, blah, blah - it doesn't care anything. And then you say hey - hey
there, Spot. What do you think of the weather today? Do you really like, you know,
sunsets or do you like rain better? And the dog is like blah, blah, blah, blah,
blah, blah. And then you say something like do you think
it's time to go for a walk? And the dog goes, like, walk - got it. And the dog's
been listening to you all along. Most of it is blah, blah, blah, blah, blah, but
walk is a reserved word for a dog. Okay? Food, treat - those are reserved words for
dogs. Most of stuff you can say anything you want to a dog and they're very good
listeners, right? But when you say a reserved word for a dog and you say walk and
you don't deliver and then
that dog's gonna bug you for a while. So you can think of that as Python. When
Python sees global or from or for, it's like whoa - that's a word that means a lot
to Python. So you'd better use it the way Python expects you to use it. Sentences
are lines. And so when we write a program, we're writing a text file and we put a
line
and another line and another line. Each one of these is like a separate line
and we've got to get them right. And then we construct a paragraph out of a series
of lines. And so in this particular example, we have another assignment statement
that's
sticking the number 2 into the variable x, retrieving that 2 back in, adding 2 to
it and sticking that sum back into x. Print is a function and there is a parameter
x and that's going to cause 4 to be printed out. So we're using operators, this
plus is what's called an operator, the equal sign is what's called an operator.
This print is actually a function. This is a parameter being passed into the
function. So there's a whole series of different kind of syntaxes that we use to
produce the lines that we have to produce. Now we start combining these - the lines
into paragraphs and make some sense. And so that interactive Python, where you're
talking with the three chevron prompt - that's fun and it's fine to get started and
type x equals
and x equals x plus 1 and whatever. But don't do too much. And I see students all
the time, they try to write whole programs in that and it gets a little frustrating
because you have to type it
perfectly from beginning to end. It's much more common to type something in a file.
Once we get maybe beyond three lines of Python, we tend to just use a programming
text editor
like Atom or something and we put them all in a file and then we tell Python -
start at the beginning of this file
and then read through the file. We call this a script or a Python program. And in
Python, we tend to call that file .py. And some text editors, like the Atom text
editor which is one of those that I recommend, when you have a file that ends
in .py, it syntax highlights it and gives you colors, and makes things pretty and
helps you understand and sometimes even leads you towards syntax errors and
mistakes that you have. And so scripts are stored sets of instruction in text files
that you can
then hand to Python to run them. And I have a whole bunch of videos that sort of
get you to learning Python - getting Python installed, doing something
interactively, and then writing
a script and then running from the script. So like I said, you can do interactive
in Python or you can run a script. And a script is much more common. Once you -
after about the first 15 minutes, you pretty much do everything with a script. So
what do you put in that script? Well, it's a series of steps. Now there are a
couple of basic patterns that we use
and we compose them. The most basic pattern is what's called sequential. We do one
thing, then we do the next thing,
then we do the next thing. Conditional is sort of intelligent where you're doing
something and then may or may not be doing something. Do, do, do, something,
something, something, maybe not, maybe - and you have this "if". If this is true,
do this statement; if it's false, do some other statement. Those are called
conditional steps and we'll
show you how - in a sec how those look. And then the real power of computers come
when we tell it to do something over and over and over again
a million times, if necessary. And that's when we have a series of steps that need
to be repeated. And then the fourth pattern is the store and retrieve pattern,
which we will visit in Chapter 4. So this is an example of a four-line
Python program that has four basic steps. Python, we - as if you typed these four
lines into a file and then told Python to execute them. Python will stick 2 in the
variable x, then it will print that out; our output will be this. It'll add 2 to it
and then print it out again and it'll be 4. You can - this over here is called a
flowchart. I don't really make you write flowcharts. In the old days they made us
write flowcharts. I'm not sure that's all that valuable. All I'm trying to show you
is the sequence of things. It runs this, does something, then it moves onto the
next one, does this, then it moves onto the next one, does this, then it moves onto
the next one. Meaning that when you're done with the statement, where are you going
to go? Well, in this case, it's the simplest of all possible things. Where we're
just going from one thing to the next thing. Now, it gets a little more interesting
when we do conditional steps. And the thing that makes conditional happen is this
if, right? The if statement is a reserved word, okay? And so you'll see, it starts
at the beginning and the if has embedded in it a question that leads to a true or a
false, ends in a colon, and then there's an indented block. And what happens is
this is the conditional statement. Print smaller is the conditional statement,
meaning that if x is less than 10 evaluates to true, then it's going to execute;
otherwise, it's going to be skipped. So it can either execute it and continue or it
can skip right over it. And so it's probably easiest to show this on this diagram,
where you start with x equals 5, then you hit the if statement and the if statement
is asking a question. If the question is true, you go down one road and if it's
false, you go down the other road. In this case, x is 5; so this is true and so we
go down this path
and print out smaller and then we rejoin. And the next thing we encounter is
another if statement. Is x greater than 20? Well, in that case, it's no, because
it's not. Because x is 5. So we're asking the question. We're not changing x, we're
just asking a question about x. So we skip right over this. So the way this code
ultimately runs is it comes in, runs this, sequentially comes to here,
conditionally does run this line of code
and then skips completely over it. So it's this code never ran. And that's a super
simple example. So it said the output is smaller and then finis
and it's a super simple one. And what you'll find is we compose these things
to make more complex programs. So conditional is the second of the
three patterns we're going to see. Now the most exciting pattern is the repeat. And
it looks a little more busy because
we can do more stuff with it. So the basic idea is there are a couple of different
looping keywords, reserved words - the while and the for. The while loop basically
says - it functions kind of like an if statement in that there's a question in it.
It doesn't hurt n; n doesn't get changed by this, it just looks at n and asks the
question is n greater than zero? If it is true, it runs this code. So just like an
if. So up to here, it looks like an if -
if n is true, n greater than zero is true, it runs this code. Now this is a little
sequential bit. When you're done with this, what do you do? Oh, we just fall onto
the next one. And you'll notice that this is indented at
the same level as the print statement. And that's how we have repeating or even ifs
with more than one statement in it. And then when it de-indents, that's the end of
the loop. And what happens is it runs this and it runs that, but then what does it
do? Well, it's at the end of the loop, so it actually goes back up to the top of
the loop. So it goes back up to the while statement. And we actually printed n out,
which was 5. And then n became 4 and then it reevaluates
this question - is 4 greater than zero? Yes, it is. So it prints 4 out and
then it subtracts 1 and it becomes 3. Now, is 3 greater than zero? Yes, it is. Yes,
it is. And so it goes 4, 3, 2, 1. Then it comes through and it prints 1 and then it
subtracts 1 from it, so it becomes zero. Now it comes up and asks this question -
is zero greater than zero? Because n has become zero by the
successive iterations through this loop. So n becomes - is not greater than zero.
So this switches from a true to a false. And false, it leaves - goes out and exits
the loop. So over here, it goes 5, 4, 3, 2, 1 - and then out she comes. Okay? And
as soon as this becomes false, then this loop exits. And so that's the way we tell
a program that - you know, we tell the computer that we want it to keep going
until something has happened. Some - we have achieved something. Who knows what it
is we're doing? None of these - none of these programs make any sense particularly,
we're just sort of learning baby steps. Okay? So loops have this notion of
iteration variables to make sure that they are not infinite loops. And this
variable n is carefully constructed to start and be checked and then be changed
each time through the loop. And that's how we make sure this loop only runs
five times and not forever. Because you can construct what we call infinite loops
that run forever, but it's not too practical; you just run out of battery or
whatever after awhile. So you generally construct loops to finish so that they have
to check to make sure that they're finished. Okay? So if we take a look back at
that story, we see that in that story, that is, how you count the most common word
in a file and print what the word is and how many there are, you find that there is
some sequential code. And in Python, the way you can tell that it's sequential code
is when it's not being indented - it just goes - it goes down, down, down, down,
down. Now the for is another of the reserved words that a loop - so this has a
colon and it says that's an indented block and there turns out to be a for within a
for. This is called nesting. We'll get to that. And then this loop ends and it runs
for awhile. And then there's more sequential stuff. There is a for, which is
repeated code. And then there's an if nested within that for; that's conditional
code. This'll run for awhile and then it comes out
and does some sequential code. So there is, in this, sequential code, repeated
code, and conditional code. So the three of the four basic patterns of programming
we see in this file. And so if you look at this from an outline perspective, this
is sort of our story. These are the paragraphs of our story. This top bit here says
read the name of a file from the user and open that file so we can read it. This
second paragraph says oh, as we read through the file, create a histogram that maps
the number of words to the frequency of the words
and each time you see a word, update the histogram so that we have a
running total of all of the words, using a thing that we'll learn later, like in
Chapter 10 or 9, called dictionaries. And that's cool, that's cool. But don't worry
about it, don't worry about it, don't worry about it now. So this is making a
histogram. Then once we have the histogram and we've read all the words, then we
read through the histogram to find the largest. And then we print out the largest
word and the largest count. And so this is a little short story with
some sentences and paragraphs and an alphabet and reserved words and vocabulary and
all that stuff. And we're kind of learning how to do it. Don't try to get this all
right now. We're going to touch on this, we've got a whole chapter on variables
and a whole chapter on conditional, a whole chapter on loops. Right? I just - I'm
trying to give you this
big picture so that when we get there, you can start putting those things together.
And like I said, it's a little confusing. Generally it really starts to clear up in
Chapter 6 and Chapter 7. So just understand that we learn little bits and little
pieces and then it gets better toward the end. So thanks for listening. Chapter 1
was really trying to get you an overview of the kind of stuff that we're going to
learn throughout the course and lay down a little bit of vocabulary
so I can talk about things like microprocessors and RAM and memory and stuff like
that so that you - so I can communicate, say hey, we're going to do this thing
that's going to do something with this CPU and so that - so you can use that. So I
hope you find this value and see in the next chapter.

You might also like