Thus far, we've written code that, where there's an if-test. And if the test is
true, we print the row in the data. So in this short section, I wanna show how,
instead, you would just count the number of rows where the if-test is true. And
that's, that's more akin to what you really wanna do with computers. So in
order to do this, we're gonna have to add some novel code into, the code we've been
doing. So, it's described, here but I'll, I'll point out the parts in this code
example. So there's three things that have to be added to do counting. One is I'm
gonna introduce a new variable, Which I'll be sure I'll call count. And I'm just
gonna set it to zero, and I'm gonna do that before the loop starts running. So,
count equals zero. Then, inside of the loop, inside the if-statement, where, you
know, I, I print the row as we've done many times before. But then I'm also gonna
have this code, count = count + 1. And that's kind of a funny looking
line. I'll tell you, what that does. Is whatever value is stored inside of count
it increases it by one. So it just bumps it up from five to six, or ten to eleven,
Or whatever. But let me, let me explain how this works. So, in mathematics, this
line doesn't really make any sense. Like, you know, what value is equal to itself
plus one. But the reason this works in the computer is that the function of the equal
sign in computer code is actually more simple than it is in mathematics. And the
key thing to understand is that it first evaluates the right hand side. And then
only once that has been resolved to get a value, then that value is stored into the
variable in the left hand side. So imagine the very first time this runs. So count is
zero and then it gets to this line. So the first thing it's going to do is evaluate
the right hand side. So count is zero, so zero plus one is one. So it's gonna, this
pile apart is one. So once it's figured that out, it stores one into count so now
count is one. So you can see right there the action where coming into the line
the count was zero and then coming out it's one. So it bumps it up. So then the
next time it sees this line, if the if-statement is true. That little value at
the right hand side, count as one. So one plus one is two, so having figured out
that's it's two than it stores two in the count so now the count has two. So
ultimately, you don't need to have a total command of the details of this thing, you
just need to know that the form, x=x+1 for some variable, it just bumps it up by
one, each time its run. So, I was saying there is three parts. We've got to set to
zero and the count=count+1 inside the if-statement and then, finally we just, we
just print out whatever value is left in the, in the count after all, after the
for-loop has run through all its times. So, let's just try this. So if I run this. What we see is that the
loop runs, and the if-statement here, checks for names beginning with "A". So, we
just see all these "A"-names. And then, down at the end, there's this one line, "count: 258"
So what that shows is, the for-loop, you know, the count was started at
zero. The for-loop ran all its times. The if-statement was true, apparently 258
times out of the 2,000 times. And then we get this "count: 258". Prints it out
because of this line, So, that one runs after the loop is done, so all that these
internal prints are done. Alright, So let me try some experiments here, So one easy
thing to do, is like, well what if I just remove this print that's inside the loop?
So, I'm still gonna run through the rows, I still have the if-statement, but then the
only thing that happens inside if-statement is count=count+1.
So just bump it up by one. So, now if I run this program. I just, I just get this
one line of output. I run it and it just says, bam, 258. So this is beginning, this
is beginning to resemble more what you think of as com-, you know, the form of
computer is taking in some massive data and kind of sifting through it and giving
you kind of a, a final answer. Alright, So, let try, try some more problems here.
And as us ual, we've got the solutions variable. How many names start with "X" and
then compare it to how many start with "Y". So, if I wanna count how many names start
with "X", I just change, you know, the count, and the count equals plus one.
count=count+1 I can just keep. So I'll just say, how many start
with "X"? So, if I run it, it says, six. So now it says oh well what if I want
to know how many start with "Y" well we can see all, all the structure we keep and
I just have to change that one thing to "Y". And its seventeen, so I guess more names
start with "Y", a lot more names start with "Y" than with "X". Then it says, for the third
one, how many girl names begin with "A", then change to count how many boy names
begin with "A". All right so this is going to bring in material from last time, I
wan't to use an and here. So I'll say, startsWith("A"). I'll say and ("&&") row.getField("gender")=="girl"
So that's the task, and then inside I just say
count=count+1. Alright, a hundred sixty nine, So the, the follow up question is
how many boy names. So for boy I would just change this. So this notion of the if
and the task are really, is the same for counting. It's really just where as previously we
would have said print(row) now I just have this count=count+1 so I can do the counting.
[inaudible] so more grow names [inaudible]. Okay, so that's our first
look at basic counting. So let's try some exercises.